Heavies are made to soak damage in front of the more squishy members of the team. If they can be felled in one hit easily in most situations, then they cannot fulfill their purpose.
I can understand some situations are better for classes than others, but heavies are most vulnerable in positions they were made for. Sure they have a very harmful position, but they should be able to take some punishment.
No, I'm sorry, I'm pretty sure you're wrong. Heavies aren't meant to soak damage. You can aim AROUND them. No, heavies are meant to be a source of constant damage that is fairly hard to make go away--and that's different. Also, "most situations"? I think you really haven't been playing the heavy right, or you've been playing against people who use him badly. Specifically you're using him in places that he shouldn't be...like long sniper alleys.
Heavies LOVE indoors spaces, and they love places where you have to try to run past them. A heavy is a way of saying "You are going to take one hundred and fifty hit points of damage if you want to go through this room", or "Anyone who stays in here with me is dead". With good medic support, they can beat down anyone who doesn't have time to organize against them...which means they're great on defense (O tends to get chased in and be in a hurry), or as part of an offensive push that can make it into the enemy buildings (oh crap! it's a heavy!)
None of these are sniper friendly spots. Heavies don't like sniper friendly spots.
Heavy is one of my favorite classes since all the way back in early TFC (I was usually my clans' heavy if I wasn't their conc-jumping medic); if anyone's going to whine about them being underpowered or too easy to counter it would be me. But no. I think they're perfect.
EDIT: Did I really just type that? I've been playing Team Fortress for WAY too many years. Gah. All the memories are welling up again. Of all the hours I've spent in my life when I've been alone doing nothing, the most happy and satisfying of all of them were while I was a Heavy, guarding the flag, in Well.
Because every once in a while, someone would peek into the flagroom. And soon after, they would die. Horribly.
On public servers sometimes they would even try to ride up the elevator while I unloaded on them from above, which was hilarious...