Soldier and McCree are fine against squishy targets. Tanks have changed a lot since launch, though, and that’s the reason they both have problems in team situations.
Hog used to be much more vulnerable. He took full damage while healing and couldn’t move while healing. Soldier and McCree could absolutely wipe the floor with old Roadhog if they avoided the hook or waited for Hog to burn it on someone else.
Dva had more armor, but she also had a lower total health pool. Her 400 armor + 100 health was worse for Soldier than McCree due to the difference in weapon damage. In fact, McCree did more damage to old Dva as a percentage of her health pool than he does now. Dva also now has micro missiles, which allows her to deal more burst damage and overpower healers’ attempts to save McCree or Soldier’s healing field.
Winston’s dome shield cooldown was altered. The cooldown used to begin when the dome shield disappeared or was destroyed, but after the release of Orisa the dome shield was modified to match Orisa’s shield behavior. The cooldown now starts when Winston places the shield, rather than when the shield is destroyed. That has effectively reduced the cooldown on the shield, which means Winston can more frequently push one button to utterly deny Soldier and McCree’s value to a team.
Orisa was introduced to the game. While Orisa’s stationary shield is just cannon fodder for Bastion and easily danced around by Tracer and Genji, mid-range hitscan can’t really do much about it. They can’t close the gap without high ground advantage because they will be vulnerable. They can’t punch through the shield without help because it’s just too strong compared to their weapons.
Wrecking Ball was added to the game. He can’t be critically hit while rolling and can easily stack up 1000+ combined health, armor and shields. McCree can interrupt his rolling rampage with flashbang, but both Soldier and McCree are incredibly vulnerable to the ball’s slam attack. The hamster can make shorter work of them than Dva can in most situations, and he’s even harder to kill.
Even Zarya has received buffs against mid-range hitscan since launch, given how they tweaked her bubble energy and energy decay. It’s much harder now to get Zarya’s charge to decay. All she needs is a few points of energy here and there to keep going at high charge for a long time, and so the advantage that faster-firing lower-damage weapons had in avoiding dealing too much damage to her bubbles is effectively gone.
The only tank that hasn’t received any buffs that explicitly impact low-mobility mid-range hitscan heroes is Reinhardt. Looking back, it should come as no surprise that Soldier and McCree aren’t doing as well as other heroes who can avoid the tanks and hit the squishies instead.