Jaime's a nob, he pushed that child out of a window afterall! Granted he redeemed himself somewhat in S3 but in the previous 2 he was a dick. Particularly to Ned.
Jaime is someone who'll go to any lengths to protect his loved ones, ie, Cersei and the rest of his family. Is he inherently an evil man, like Walder Frey? No. He is a blindly loyal one, and is insanely in love.
He does not live for himself or his pleasures. He has no desire for whores, titles, power, gold, honour or glory. He is young, handsome, rich and is Tywin Lannister's eldest son. Yet he never abuses or even uses those traits. All he wants is Cersei's good, and the Lannisters to thrive. And he would gladly die for the cause.
When he pushed Bran out, he didn't see a child, he saw a potential threat to the one thing he cherished most in this world. How is it evil?
Catelyn Tully put the entire fate of the north at jeopardy by letting Jaime escape, just to protect
her loved ones. If she hadn't done that, Robb wouldn't have fallen. She captured Tyrion because she
suspected he had tried to kill her boy, without considering the implications. If she hadn't done that, Ned Stark and his men might have been alive. Robert wanted to kill Daenerys and her child just for the heck of it. Sansa lied about the butcher's boy in the first season, and betrayed her father's plans to Cersei.
That is evil, not what Jaime did.
And what did he ever do to Ned? Ned comes out of a whorehouse, and tells Jaime he ordered his wife to capture Tyrion. He could have maimed him for that - cut off his limbs but let him live, or something like that. But no, he actually kills the man who sticks his spear into Ned's leg. That's not evil, that's justice if you were looking at it differently.
He knows his sister is evil, he know Joffrey is cruel. And yet he fiercely loves them, for they are his family. Just imagine, if GRRM were to somehow switch Jaime's allegiance from to the Lannisters to the Starks, wouldn't you really love him? Calling him a dick really makes no sense to me.