In my opinion a hero is someone who takes a risk to help others.
He certainly fits that bill, though he might be an idiot for doing it. The risk may have been high. He protected the company, sure. But they can take the loss. It's possible he may have protected some unknown people who might have been the thieve's targets, if he had nefarious plans. But there's no real way of knowing. Heck, he might have stolen only to resell it for cash.
I suspect many retail stores have a policy forbidding endangering ones self as a way to protect the company. That may be why he was fired. If workers keep tackling thieves, someone is going to get hurt. Then they or their family sues to company because their policies allow for it.
So it's all because we live in such an idiotically litigious society.
I don't count this as being a hero as much as somebody properly getting involved when they should have. No telling what the bad guy would have done with the weapon had he got away with it. I also tend to think the word "hero" is being thrown around way too much nowadays.
As far as the firing, it would depend upon if the "policies in place" referred to in the article. If they have one of non-intervention and he violated it, then he's subject to termination. It's an asinine rule in my opinion, but it's their store, not mine.