I just read the story of the Frenchman who jumped into the East River to save a two-year-old who had fallen into the cold water, and the one thing that really bugs me about these kind of stories is how they act as if there's something truly special about this guy. That's not to diss his act in anyway, but I'm quite convinced that almost anyone would have done the same thing in his place.
The truth is that we're ALL heroes. We ALL want to help people. We ALL would jump into freezing water to save someone. People can be short-sighted and greedy and selfish, and act in ways that hurt others, but that's just because they don't see how else to act. The problem with these people is that they lack the imagination required to think outside their own little sphere, and their acts of selfishness generally backfire and end up hurting them more than if they saw the Big Picture and acted less selflessly. I consider myself to be a VERY selfish person, which is why I treat people well and strive to make the world better, as it benefits me more in the long run.
But all the same, even your most selfish person would surely be the hero when the situation arose. Modern life just doesn't present easy options for people to understand how they can do the right thing, but when you see a toddler in the water or some other dire situation with an obvious requirement, the proper response comes easy. People really do want to do the right thing. They just need to understand how.