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.