TBH McCree in his current state is easy to deal with in every situation except turning a blind corner into one with decent reaction times.
His right click does 420 damage. Its not an ability, it doesn't have a cooldown. 420 damage. Its sounds fake, it sounds like a meme, but its true. If he does his combo sans flashbang (which takes about 2 seconds) he only has to hit a
quarter of the shots to kill most characters. Reinhardt and Winston have to play like cowards; Zarya is the best counter to McCree (due to her saves) and he soft still counters her. She can have her bubble up and he can fan the hammer, hit only
half the shots on her giant tank hitbox, and then do the flashbang + fan combo on her as if she doesn't have an ability specifically to shut down CC. If you're playing as Reinhardt or Winston and you walk anywhere near him without your barrier up he can basically sneeze and you'll die; on top of that he's in the top 5 barrier killers because
why wouldn't he be.
This is if you're facing a bad McCree. An skilled McCree can duel Hanzo (who I would say is the second best McCree counter) and Soldier 76 at their ideal range and win.
Genji isn't even slightly a counter to McCree, infact Genji is the type of character McCree was supposed to counter (he wasn't intended to be a tank killer according to the devs). He can throw the flashbang over Genji, on the ground (including straight down if Genji is hugging McCree for some reason), to the side, or even right in front of Genji's face if the range is right. McCree is a hard counter for Genji. Hell, there could be nothing in McCree's kit except his left clicks and he would still be decent at killing Genji in the hands of a skilled player. Might I remind you that he hitscan headshots for 70-140 damage?
On top of all that, McCree is the only character in the entire game who corner camps consistently because it works. If anyone, even fucking Reaper, camps corners you can literally just walk in, notice him or hear the gunshot sound, and then walk out. But if you try that with McCree and he has any idea what he's doing the flashbang will explode in the doorway and stun you. And of course since McCree is judge, jury, and executioner, he doesn't need any help to kill the people he CCs (as opposed to Mei, Zarya, and Reinhardt who really want to be teamed up with someone to be effective).
Overwatch is balanced around competing times to kill. Its not CoD; no matter how perfect your aim is as 76, Hanzo, Mei, Zenyatta, Widowmaker, there's only *so* fast you can kill that Winston bearing down on your medic. This is a big part of why Overwatch is such a team game; simply by participating in a fight you add more time it will take for your team to die and more damage that the enemy tanks and healers will have to manage. But McCree busts the time economy wide open like an egg. He can kill or doom any character in the game in a half second or less. To be close to a McCree is, by definition, to be out of position. No one else is like that, there are characters that can justifiably hang out around Reaper or Reinhardt for a couple seconds if they have a good reason. The only character who approaches McCree's level of "If I look at you funny you'll fall over dead" is Bastion and yet somehow Bastion has about the same DPS at close range even though he has a bunch of crippling weaknesses and effectively no abilities (whereas McCree effectively has 3, 2 of which are individually better than some characters' entire kit).
His ult is pretty well balanced and fun tho, so there's that I guess :/ Seriously, I don't think you've been matched with good McCrees. I'm getting matched against 6 stacks that are rank 40-80 and I can say definitely that's he's a broken PoS.