Unfortunately no matter what relationship you have with them they will attack when you get too big. My strategy is this. First find someone with the highest reown, rich, and martial and make him the marshall. In turn I became more of a trainer. I find training troops from lvl1 to lvl4&5 maybe 6 and give them to my vassal to be an excellent way of raise relationship. Not to mention keeping my vassals army with large numbers. While my marshall and his band of misfits cost trouble for the enemies, I gave myself second job of besieger. I keep a core group of cavalry of Swadia, Vaegirs, and sisters which doubles for good assault troops. I also have mix horse archers and crossbowmen. I prefer to give away the lot of town/castle right away after the assault to keep relationship hit low compare to giving fiefs individually. The main reason I prefer myself to be the main besieger, I can share the booty which gives me a relationship bonus of two to five points. Oh, always try to let your vassals initate combat for another 2 to 7 bonus for "saving him".