Here's the problem with characterizing Io: she's totally different depending on which version of her story you read.
In some versions, she's a Hera's priestess—that means she's betraying her mistress by sleeping with Zeus. If you go with this interpretation, then Io's time spent wandering the earth as a white cow while being stung by a gadfly doesn't seem quite as unfair. Sure, it's a little extreme, but at least she did something to be punished for.
But in the most popular versions of Io's story, she's is a river nymph who is totally seduced by Zeus. And in ancient texts, seduced sometimes actually meant raped. (Some translations of the story actually use the word rape.) So if Zeus is the guilty one here, why is Io the one who suffers? It just doesn't fit into the neat morality tales that we favor today.
We do feel a little bad for Io, but we're glad she had a happy ending over in Egypt.