Here is a thought I had while reading your posts...he seems to have little ability to negotiate his needs. He feels miserable and bottles it up for months at a time and then explodes. Most of us, when we are unhappy can voice it and take action toward solving whatever issue is bothering us. Some, though, never learn how to do that. His sense of hopelessness over what to do next comes from a lack of negotiating skills maybe.
He may feel that over the years he has stood up for himself and attempted to get what he needed but he really hasn't. Angry outbursts releases resentment but doesn't solve any problems. His confusion comes from knowing there is something wrong but being unskilled at how to solve it.
I can understand your feeling of being out of control. I'm sure, with your personality you want to fix things or at least want to feel as if you are working toward a solution instead of waiting for him to. I think there are things he needs to learn that you can help him learn. It honestly sounds like to me that when the man is faced with unpleasantness and negotiating his way around it and through it he is lost. You might try teaching him some good negotiation skills by starting with small things that occur in daily life. Do some reading on learning to negotiate in relationships and then use things that come up in your everyday life to teach him better skills. Non-relationship issues of course.
You are lucky that he is still at home and communicating his feelings with you. I think there are things you can do that will help him learn that he doesn't have to feel hopeless when it comes to dealing with his feelings and will also have a positive effect on his feelings as far as the relationship goes. You seem to be working so hard and in productive ways to change some bad behaviors of your own. That is a great start, maybe you will be able to help him change some of his own bad behaviors. Cathy~