Well Tracer is a glass cannon, Genji is actually fairly decent, but not over the top compared to some heroes ( he was thankfully reined in back in the beta). A big issue with Genji is his gimmicks like Deflect lose a lot power once players know better.
But McCree is definitely an issue. Flash bang to fan the hammer, is the biggest issue so much as that he can do it twice. Two fan the hammers is 840 damage (can't head shot) and that will kill anything, armor or not. Flash bang to fan to roll to fan. There's a reason why he has become the top pick in competitive.
Reaper and Genji are the least picked. Genji can't burst a target down, and Reaper's sustain isn't to viable in competitive. Pharah gets some love because of flight and being the most danaging per shot offense. Tracer is picked frequently because of high damage and being a fly that can't be killed. Soldier is less picked than Tracer, but more than Pharah thanks to Tactical Visor, damage and healing. And we already talked about McCree.
Mei doesn't get picked at all in competitive last I checked, even after all her buffs, players find her too easy to kill. Junkrat is really defined for defense and trap setting, not much else, though he is a good counter to Reinhardt and Dva. Hanzo, like Mei doesn't get picked much because Widowmaker is that much better. Also, I think removing head shot properties from Scatter Arrow might've put too much hurt on him. Torb and Bastion are too easily nullified by Reinhardt and team work. Only Widowmaker stands above and beyond, and much like McCree it's her damage that she's wanted for. Hard to believe her left click does more damage than Soldier's, but there you go.
Winston and Reinhardt are frequently picked. Winston because Tesla cannon is capable of hitting multiple targets at once. Reinhardt is obvious. Roadhog, despite how powerful his hook is, doesn't get much attention. Dva is never picked. Zarya gets a fair shake thanks to her ult.
Symmetra, and Mercy get a fair pick, but Lucio stands above them all. His recent nerf on his damage keeps him fair, but no one replicates his healing aura or speed. Used to be Zenyatta could lob a healing orb on a target and keep it on them for the entire match, they changed that so he could only keep it on those in sight. And for some reason made it much more difficult to target on players. He received a slight health decrease too. With all those changes, Zenyatta isn't picked as much anymore.
And that's all the heroes on the competitive scene. Despite their leanings, every character is still in pretty good shape and can work well in many situations.
Supposedly, we're getting new heroes this summer. If the last set of heroes was any indication, they'll come in three's. The last hero set was Dva, Genji and Mei. Expect 2 new supports and 1 new tank to round out the roles.
Supports can be played in either direction, though some feel better suited to certain roles. Symmetra is really strong on defense, less so on offense, for example.
Lucio, Zenyatta, and Mercy could be played either way. Lucio is particularly effective on king of the hill maps like Ilios, Nepal and Lijiang.
Offense and Defense are the ones that really are more limited on what they can do on certain runs. Generally, you wouldn't run Widowmaker on attack in Route 66, for example since there's no good sniping position anywhere on the offense side. Likewise if you're on defense playing Genji, you're going to have a hard time dealing with all the offense heroes like Tracer or Pharah, or the tanks.
In the high-end meta, almost no one runs defense and instead picks up extra support or tanks to disrupt. Right now this is because of McCree's burst. But Widowmaker and Junkrat do see quite a bit of play on some maps.
The two big things I can see them changing for McCree is making Flashbang only affect one target. Or set up Fan the hammer, to descending damage (instead in 70 each shot.)
Right now Fan the Hammer can't do headshots - which is a good thing - but the damage is up to 420, and with roll you can immediately run two Fans for 840 damage, killing any living targets, be they tank or otherwise.