If you're being sniped by a Widow than you either have bad positioning or are playing the wrong character for that particular match. You should always be switching your character if what you are currently playing is simply not working. Very few characters can work in every situation.
In general I don't agree with this.
Though I do agree about the switching character bit. I've mentioned before that Overwatch is a game of character switching, and that knowing when to do that is of paramount importance to personal success.
However, it's not just about yourself, because you're on a team of 5 other people. It makes little difference if you're able to avoid Widowmaker if your team continues to get sniped. Say you pick a counter to her (like you said Winston), but they have a counter to you on their team. I've found Bastion to be one of the best counters to Winston because Winston does literally zero damage to him, and Bastion in turret mode can mow him down at ALL ranges. Even if Winston throws down his shield, the turret can tear through it in a second. Even when you're ulted, maybe you can knock Bastion around but you're doing literally zero damage to him and once again he'll just chunk you down from 1000 hp to the point that you're wasting your time with him. It's better to focus another character.
That's why it's not as simple as "pick a counter". One of the best counters to Widowmaker is actually Rhineheart, because behind his shield she is basically useless. However, if you were to pick Rhineheart to stop the Widowmaker from massacring your team, you're not relying on your teammates to watch your back, and if they're bad, that's not going to happen.
Look, in any competitive FPS ever made, whether that be Halo, Counter-Strike, COD, Battlefield, TF2 or whatever, playing the Sniper is always easier than countering the Sniper, at least in pub games. It's so easy to just sit up on a perch and kill people in one shot, and requires a type of coordination that you can't really expect random players to have.
Is it balanced for competitive play? Sure. A coordinated team would have a much easier time countering something like that. But if you were to balance a Sniper like Widowmaker for casual play, she'd be useless in competitive play.
Plus there's the added difficulty of map knowledge. Given that you can't really practice on / manually choose the maps in Overwatch, that gives people who have played it more a massive advantage simply in knowledge of the game: The best spots to hide, where to snipe, where to find health packs, the direction dead players usually come from after respawning etc. It's not as easy as just telling an inexperienced player "you have bad positioning". Technically, good positioning requires an intricate knowledge of each map. You can have mediocre positioning without adequate map knowledge, just based on say past experience with FPS games, but good positioning would once again, require hundreds of hours with the game. And I don't consider this "skill" either. It's simply human nature to become acquainted with an area once they've visited it again and again, dozens or hundreds of times. This requires no effort at all, aside from the effort of playing the game.
Finally, there's the opposite problem of bad Widowmakers, generally those who want to play the "Attacker" role, contributing nothing to the fight, never standing on the point, dying over and over, and generally being completely useless, and you see these a lot as well.
Regardless of which end of the spectrum you end dealing with, both sides are pretty bad. Which is where you'll find my general dislike for the character.