Come to think of it, I really never thought Selina was all that evil.
I don't even think she fits in villainess category. I mean she does bad stuff (steal), but she's definitely more of an anti-hero...or #1 ambiguous Rogue!
And tbh, I don't even think it's debatable that she's the only one who owns Bruce's heart. Nyah! :-D