I love your last paragraph; somehow, the idea that someone's status as a hero or anti-hero is reliant on the views of the author themselves hadn't occurred to me as such.
People's behavior is mostly situational. The results of studies such as the Milgram and Prison experiments seem to show this, and certain situations can degrade otherwise positive behavior very quickly. To quickly Godwin this thread, Hitler was democratically elected. Compared to the average person's life in the history of the world, any modern first-world nation is paradise.
Regarding personal experience, I've found that you get out of life what you put into it. Very, very few people have a natural mean streak under normal conditions, and most respond positively to kindness. Funny enough, it seems that thinking negatively of others is bad for one's self - under this theory, concentrating on the believed stupidity of a blond might lead to the reaction of dumbing ourselves down.
I think there are many, many good arguments for either view of people; more importantly, I think we as a species know so little (of practical or philosophical matters) about our own mindset it's hard for any of us to truly conclude one way or the other yet. Whichever is "right" by whatever standard, though, your view is clearly more beneficial.
Thanks... Your post crossed one of mine, which has a comment I just realized sounds as if it's directed at you:
If you think it's perfection or nothing... then maybe you should be writing straight heroes vs villains.
I actually meant "you" in a general sense. I was thinking of some draft stories I've read recently– the (teenage) writers say they're writing morally-ambiguous characters, but their ideas of morality are too simplistic to make it work.