The only thing that will stop violence like this is more violence, or at least the threat of violence. If you don’t think gaoling a rapist for life is violence, rephrase it as sentencing him to death by incarceration, the slowest and cruelest way to kill someone.
I’d argue that the death sentence would be more merciful, and would save the taxpayer lots of money. But what if it later turns out the guy was innocent? Eliminate this possibility by having the CIA interrogate the convicted murderer using sodium pentothal and extract a confession. If he maintains his innocence under questioning, send him back for retrial. If he confesses, then the execution can go ahead.
If you seriously think that psychopaths will amend their behaviour without fear of punishment, you are deluded. Ask Napoleon Bonaparte or Adolf Hitler whether violence is an effective cure for violence: it stopped both of them from enslaving the known world. How, in your non-violent world would you have stopped either of them? Peaceful Protests? Hunger Strikes?
While evil men prey on others, violence will happen. “violence with violence will create more violence,” is simply nonsense, however nice it makes you feel. Were those rapists and kidnappers responding to violence? No, they used violence simply to get what they wanted, using other human beings as objects of no worth. The only thing that has ever stopped violence is superior violence. The only thing that will stop a bad man with a gun is a good man with a gun. This is why we have Police and Armies: to protect the innocent.