You have GOT to stop choosing your actions, or in many cases reactions based on "how you think she'll react" or "what will she think about me if I do this" or "will this hurt us getting back together."
My gawd man, she's got you like a little puppy on a leash, and does she ever enjoy pulling on that leash.
Man up. Find your you-know-whats. You don't have to kick his butt to be a man. Why stoop to his level? Sometimes a strong silent walk away is infinitely more powerful. As a younger man, I ran into a guy who stole my girlfriend, and halfway through sweeping the sidewalk with him, stopped, let him go, and told him, "You know, you're not worth the time it'll take to kick your @$$." And walked away.
And my ex-girlfriend? Trust me, she found out about it.
Start acting and making decisions based on what's good for you.