Well...... I don't think much of a man who chooses to intimidate his wife with his anger. We all get angry - tough luck ! There's no excuse to take it out on someone else. That alone is abusive.
So you could argue that if you left, you would be free of his ill-temper and undermining. Your son would have no-one to model his temper on, and no-one to support his poor behaviour. Also, your husband would have sole custody of your son some of the time, so 1) you would get a break sometimes, and 2) since your DH thinks you're doing it all wrong, it would be enlightening to see how he managed. But that's flip, and easy for me to say. Only you can decide whether your marriage is worth saving.
So.....small steps, are my best suggestion. A visit to the GP might be a first step, for some advice on managing your (very understandable) low mood. Think about some counselling sessions if they're on offer there - not couples counselling, though.
Consider a weight loss group and/or exercise class too - only because it would offer time away from the two overbearing men in your house! I know you love them, but you need some time off from being their verbal punchbag.
If there's no money for that, perhaps you can ask a friend to join you for regular healthy walks. Anything to get you out, and away from your house.
For dealing with your son, one point of call might be a book such as 'how to talk so teens will listen, and listen so teens will talk', or Rob Parsons' 'Teenagers!' ...or similar.
The point is to take a few small steps forward to start changing things. That will help you think more clearly, and feel less stuck about what to do. 