Well, some of the things going on for H (job sitch, etc) can help explain why he's acting that way, but it doesn't excuse it, AT ALL.
Boundaries and respect.
One technique I read about and use(d) with W (and the kids, and co-workers, btw) is a "nice" way of letting them know that they are hitting boundaries, something like this:
1. W, what/how your are saying "sounds like" it could be insulting (yelling, blaming, etc) me. (Gives them a chance to change without being wrong, since it "sounds like"...)
If they continue:
2. W, you still "sound like" you are insulting me. Please stop.
If they continue:
3. W, the way you are talking to me is insulting, I have asked you to stop, if you continue, I am going to leave the room until we can discuss this without being insulting.
If they continue:
4. Leave the room. "I am going for a walk, I'd like to continue discussing this after we have had a break" sorta thing. And then GO for the walk, even if just around the block
I found that this has to be done with NO EMOTION to work most effectively (this can be tough, I remember). This probably is especially important when relating to your H, I would bet that emotional-ness can close his ears and brain down into defensive mode, and won't be "hearing" you.
You have to establish, and then enforce your boundaries, while giving them a chance to change their behavior without being "wrong". Enforce politely, non-emotionally, but firmly...and always follow through.
It did change the dynamics, W started to be more respectful...but it did take a few blow-ups and me staying consistent for her to believe me (and oh, do they like to test...maybe its a sub-conscious urge, but they do...). So be prepared....
Hope this helps a bit.
T^2
In the depths of winter, I finally learned that within me there lay an invincible summer. - Albert Camus
Uncertainty is the very condition which impels people to unfold their powers.-Eric Fromm