Well I think that Martin goes a very good job of making his characters come up with very good justifications for what they do. For example if you look at what Stannis and Jaime do they both do plenty of absolutely heartless and despicable things but they're able to explain them away in a way that makes sense for a lot of people (I still hate Stannis, but by book 4 I couldn't help liking Jaime).
Basically Martin does what you were talking about with having anti-heroes justify themselves (in the same way that sexists, racists, etc. do) very very well.
I think Tyrion will probably become more heroic later in the series, though.
Cersei was definitely an anti-hero. Has Arya really done anything heroic? The only really heroic characters, now that I think about it, are Brienne, Jon and Dany.