Meh, as a person that plays A LOT of Heavy I find he really only functions well on semi-cramped maps whilst defending an already captured point, especially on KOTH. Beyond that, virtually every other situation would be better served by a competent soldier.
He also happens to be quite effective in an offensive role on payload maps... for obvious reasons (and only when it isn't a long walk getting back to the cart). Though I suspect if the defending team has it's shit together a hailstorm of stickies and rockets would make attempting this a bad idea.
On his own without team support a Heavy can still get some good mileage when preforming in his premiere role; dissuasion. He makes people reconsider their tactics and can stop a point capture before it has truly begun. Once the enemy comes with the proper counters or mass, the Heavy will be forced to retreat. But if the enemy team doesn't manage to get it's shit together to dislodge the Heavy (as happens quite often!), he can stop any attempted captures for a good long while, especially with sandvich support. It should be mentioned that, against the better players, this doesn't work nearly as well. This is mostly because good players know that Heavy's medium and long range damage are laughable and pretty much any class can out damage him. Most people don't seem to know that though, and run away from any Heavy's they see except at the most extreme ranges until they can get some backup... or a better player takes care of the situation.
Honestly, over all the suggested Heavy fixes, just improving his medium range damage would go a long way.