You're literally completely ignoring the thing where he would be put to death if his father did anything out of line. And since, as you admit yourself, his dad is such an asshole, then surely the threat of being to the sword by Eddard was real and constant for him.
Theon was a bit of an ass, sure. So was Jaime. And Tyrion at times (Tyrion was the one who rubbed it in Theon's face that was a captive, not Jaime). So was the Hound. Doesn't mean I can't be totally behind all of them.
Theon fought in the Battle of the Whispering Wood. I'm not sure what the point of your "was never really put into any real dangerous situations" comment was.
Theon was so into banging chicks because it was the only part of his life in which he could actually feel that he was in control. His identity has been as a hostage, he had no agency in his whole life. When he is castrated, he loses that part of himself that allowed him to have any sense of control over his own life.
Theon never attempted to kill Bran and Rickon.
It was a hostage situation but he was still Ned's ward and was treated like a lord and had pretty much all those lord privileges. He grew up with the Stark children and essentially was treated like one. If Balon had rebelled again, Theon might have been in trouble (and this we can't even know for sure, for all we know Ned would not have hurt Theon). But he didn't and Theon, compared to millions of kids in this crappy world, had an awesome childhood.
Robb and Cat died thinking the two youngest were dead. They also died thinking he sacked Winterfell iirc. Regardless of what he actually did, he completely devastated his only family.
Ultimately Theon really, really, really fucked up. This is Game of Thrones, and if you fuck up you get hurt. It happened to the Starks, it happened Oberyn, it happened to Theon.