Thank you for the additional informationCustomer
This is indeed a very difficult situation. I don't think that there are any right answers here. I can make a few suggestions based on what you have told me.
The threats and violence that you have described to me are very concerning. If your husband has tried to choke you before, you are the VICTIM of domestic violence. This is a serious issue as this puts your life in danger. It sounds like things have been okay so far, but if you're husband is drinking more and becoming more emotionally unstable, then this is not a safe situation for you.
The truth is that you cannot fix your husband's emotional wreckege. I know that this is difficult, because from what you have told me, you feel RESPONSIBLE for your husbands emotional state. The question you have to ask yourself, is "what more can I do?" My suggested answer would be nothing. You are not your husband, and only your husband can fix your husband.
I think for your sake and your husband's sake, you need to let go. Letting go does not mean you stop caring about him, but letting him learn from the natural consequences of his actions. It doesn't mean you stop caring ABOUT him, but you stop caring FOR him.
I guess what I'm saying is that in the interest of your safety, you should leave him. Maybe you can work things out with a professional marriage counselor. If your husband sees that you left, he will know that he has to take you very seriously. If you think he wouldn't do well, you need to let him know that you are still willing to work things out, but not until he stops drinking, gets rid of his guns, and gets some help with his anger.
I must state again, that I think you are in physical danger. My suggestion would be to call the local women's shelter, and ask their advice about how to separate with him. It would be best to do this while he wasn't home. It sounds like things could escalate to a very dangerous situation if he were home.
This is probably not the answer you were looking for, but I think this is the right thing to do. Let me know if you have any questions or need any clarification.