the only advice i offer is from experince, it sounds to me that you are to nice, far more spiritual than the people you are dealing with. when i was in a similiar situation to yourself my x was running rings round me, i was always trying to please, always trying to meet more than half way, and she would just run me down. i got very depressed, wasted, then i realised she was winning and i was starting to look bad in my own eyes and friends and family, my child was worried about me,all this shook me up. i started to stand up for myself, started to say what i would do and what i wouldnt, got a hobbie. i learnt to put things in boxes and leave them there, if she was kicking off, saying you can`t do this, you can`t do that, i would respectfully (never lose your temper) state my case, and not back down. eventually and after much effort they get the message that no matter how often they press those buttons, it won`t work. also your kids will respect your strength, they know right and wrong, if you are fair and respect your wife as i`m sure you do, your kids will see that, and one day they will tell you.
you have along road a head, but decide today, right now, i`m going to be strong for myself and my kids. all the best and all the love in the world to you.
p.s i have a great realationship with my child.