You need to do what is best for you, but most of all you need to do what is right for your kids. They do not deserve to be treated by this man in an abusive way.
Start first thing by cutting him off from your money. You earned it. You worked hard for it. He's abused the privilege of sharing your money. His debts (which he really should have told you about up front) were HIS problem, not yours. If HE doesn't believe in separate bank accounts, it's obvious that HE had an ulterior motive in wanting it set up that way. And it doesn't mean that you have to do it HIS way, just because HE believes in JOINT accounts. Tell him it's temporary, because YOU want to keep track of YOUR spending, and suggest that he take the opportunity to do the same with HIS money. Yes, he's going to squall about it, because he was using it to bail HIMSELF out and help HIMSELF to things with YOUR money. As far as I'm concerned, you don't OWE him a dime. If he doesn't like it, tell him it's a helluva lot worse on the street. Don't let him be a deadbeat at your expense. You're the one who is going to get their credit rating screwed up because of his stupidity.
Actually, don't even tell him that you've set up another account. Just go to a different bank, set up an account, and then have your payroll office change your direct deposit information.
You don't have to hit someone to abuse them.... taking liberties with your money is another form of abuse. Money is one way of controlling someone else. He's spending your money so that you can't spend it yourself. Stop allowing him to get away with it. Save your money for when you're going to need it for your kids. Put it in a college fund or something. Just make him responsible for his own money and don't give him any more of yours when his runs out. He won't die if he doesn't buy another piece of NASCAR memorabilia.