The problem with domestic violence is that usually the only eye witness is the partner/spouse of the guy. Who do you think she will press charge on? You or him? I am not trying to be mean, but the women who let this happen (repeatedly) aren't so bright in the first place. They don't think straight, or they would have left the guy the first time it happened. So don't count on the intelligence of these eye witnesses to do you any justice.
You can try to stop domestic violence, but it is the best not to use violence to stop it. What you can do is to try get between the two of them or try to hold the guy in a non-violent and friendly way. If the guy shows aggression against you, at least do not attack the guy before he attack you. If you hit back after the guy hit you, you could have at least claimed self-defense during trying to stop the guy hitting the woman. But if you started the fighting between the two of you (the punches he threw at the woman don't count), it is a lost case the moment you started attacking. However, as we have gone through this... the only eye witness is her. She will very likely side with him when he lost the fight or get injured.
The best way to stop domestic violence is to intimate the guy.
Once I was taking a walk, I saw a guy was yelling and pulling back and forth with a woman. I thought it could be a robbery, so I stepped forward and asked what's up. The guy turned around and found me to be at least 5" taller than him (I am not that big, it's just him who was small lol). Somehow he thought I was a plain cloth cop (perhaps he thought no one but a cop would butt in), and he immediately showed me his ID and said the woman was his wife and they were just arguing. Anyway, after the woman confirmed his story, the two of them walked separated ways. So what's left for me to do? Nothing, I walked away too and hope the woman wasn't dumb enough to follow him again.
When something happens like the OP mentioned, you should always call the cops first and in my opinion it is the best ask on the phone if you could try to stop the violence before the cops arrive. If you get the "go" from the 911, then at least you have more "legit" reason to step in.