There is always a better way to change a kids behavior than violence. You just have to have the patience and intellect to use it. Sometimes very difficult to do, especially when you have been hit as a child, and the heat of anger gets the better of you. In public you need to remove the child from the situation first, and calm yourself down, then deal with it.
In Kevbones' sitch it is difficult to interpose without causing a problem with the abusive parent, and difficult to let it happen, especially when you know there is a better way.
The gut reaction is to make it stop. Perhaps saying someting to the child, is better than talking to the adult. Something like "That must hurt!" I don't know, just a thought.