What worked for me: I stopped saying he "has a good heart," which kept me in guilt, and started saying "he's a human being." Saying someone has a good heart, to me, minimized and excused the bad behavior. Acknowledging his god given place on the earth made it easier for me to say take your crap elsewhere.
((()))