It sounds like he has some issues that he needs to deal with. He's been in military service you mentioned and comes from a broken home? Sounds like he has a lot of demons following him around and while he may be "successful" it sounds like all of these things have taken their toll on him. He doesn't sound like a guy who has very good interpersonal skills, and it doesn't sound like he has a lot of respect or compassion.
Assertive and aggressive are also NOT synonyms. In fact assertiveness is the mid-point between passivity and aggression. You do not need to get aggressive to stand up for yourself, you do not need to get aggressive to be firm about your wants and needs. I would actually recommend a book called "Boundaries: Where you end and I begin" by Anne Katherine, because I found that it helped me sort out not only what healthy boundaries were, but also how to become more assertive instead of passive or aggressive when I need to solve a problem. I'm still usually a ridiculously passive person, because it's a part of who I am, but I also learned how to step up for myself and take charge of protecting my won personal boundaries, as well as knowing how to set and maintain them.
However you need to keep in mind that you can't change him. If he doesn't want to change, he's not going to. You can't "do" anything about it. You can't change it. You can talk to him, you can discuss and try to work things out with him, hell if you want you can both start going to therapists and seeing what they say and then talk about it together too. But in the end, no matter what you do, he is the one who needs to make the change, make the effort and follow-through. It's hard, and honestly he may not want to change who he is. You are going to have to prepare for a point where he's not going to change. He might, yes, and it is worth a shot to try to talk to him calmly and really use healthy and effective methods of communication to try to sort things out. However, if he is unresponsive (or if he says he'll change and never actually does) you're going to have to decide at what point is enough enough.
It sounds though, as though he may be stubborn to change. If he sees himself as a self-made-man he may not want help and he may not want to change. You are going to have to see this if it's the case. Please do not suck yourself into the trap of "waiting for change" or hoping that you can change someone else. Because it has to come from them. You can help and be a support along the way, but it has to come from them. If he's waiting until he's in person to change, then he's not doing it for himself and he may not really want to embrace the changes that are laid before him.