I overall agree with what you have to say.
However, I strongly object to using "violent" do describe any form of verbal communication.
We need a hierarchy of what we as a society agree upon as wrong, and violence needs to be clearly at the top of that list, for good reason. Using the word "violence" to describe ways of speaking has the positive effect of making it clear that those ways of speaking are harmful, but it also has the negative effect of diluting the potency of the word "violence". To call shaming someone "violence" is to place it in the same category as murder, rape, and assault, and shaming someone simply does not belong in that category of actions.
Ironically, equating shaming with violence has the effect of shaming people into not shaming each other, by placing their action in the same category of the most horrific actions humans inflict on one another. I suspect this wasn't intended, but it's one of the ways in which attempts to control language, even one's own language, are ineffective. If you really want to shame someone you can find a way to do it, even with the frameworks set forth in Non-violent Communication.
I've observed similar problems when experimenting with E Prime[1]: I found when using it that I quickly was able to find ways around expressing identity and predication, which I began to employ subconsciously (against my conscious will: I was honestly trying very hard to conform to the spirit, rather than the letter of the law of E Prime).
[1] https://en.wikipedia.org/wiki/E-Prime