Widowmaker is one of the more skill-based heroes in Overwatch. Players with good aim are able to dominate matches (much in the same way a good sniper can in TF2). Here are some tips to improving your Widowmaker gameplay (besides improving your aim, which should be obvious).
Communicate with your team
Call out important information to your team. Tell them enemy positions and where they will push/where any turrets are. Communicating these things gives your team a lot more information to play with.
Shooting tanks will get you more damage done at the end of the game but targeting support/high damage heroes is what wins games. Taking out a Mercy means your team has a window to push without worrying about her ultimate (resurrect).
Use your ears
See this page for more information about listening to enemy footsteps. When you are zoomed in then you must rely on your ears to hear enemies behind/to your side. Listening can be the difference between life and death.
Use your ultimate often and selflessly
Saving your ultimate can often be a mistake. Use it for your team. If you are hitting shots then it charges really fast anyway. Check the video below for an example of how effective Widowmaker (and her ult) can be.
How to counter Widowmaker?
Tracer – strong flank potential and almost impossible to hit. Widowmaker cannot snipe from isolated positions when the enemy Tracer is constantly hunting her down.
Shields – Heroes with shields can protect important teammates from Widowmaker. Her rifle cannot penetrate through shields and it often forces her to waste time relocating to a new position to avoid shooting into the shield.
Pretend to leave cover – Pretend to leave cover but back away at the last second. If she was watching you then she will fire as she expects you to run around the corner. You can then tell your team that her ultimate is up and they should be careful.
Any other tips or counters?
Comment below if you have anything else you feel should be added. Overwatch is still a new game which will take some time for people to learn to play to a high level.