It's just not a simple thing. There are times when violence is justified and times when it isn't. While I think it is best to work for non-violent solutions, there are times when it just isn't practical.
The Montgomery Bus Boycott is a prime example where non-violence worked. If the black population here had risen in violence, they would have been slaughtered. As it was, many of the boycotters were brutally beaten, even killed. Yet, in the end, the boycott caused many positive changes.
On another note, I don't think there was a non-violent solution to Hitler in WWII. The only way to stop his rampage was to respond with war.
As for violence against one's self, I've been in a situation where if I had responded with in kind, I would have been killed. Yet, I've been in other situations where the only solution was to knock someone in the head.
There are no easy answers or simple solutions. It all depends on the circumstance.
Edited to add: I just realize that I unintentionally told an untruth. In the situation I was where I said if I had responded in kind I would have been killed wasn't entirely true. In that situation, I couldn't respond in kind because I was physically restrained. I know now that if I could have, I would have responded with extreme violence, and yes, would likely have been killed. Bleah. Not making sense. Just wanted to add that when I've been physically attacked, I've always done my best to respond in kind. I go a little insane when things like that happen.