I'm not saying we need to shame people in the streets Cersei Lannister style, but a little humiliation won't kill people. We're so worried about offending people and "scarring them for life" that we don't even speak up when someone's being an ass—and if no one speaks up, what reason do they have to stop?
Having people laugh at you for your stupidity or making you feel bad for doing something bad is never fun, but it'll make most people think twice about doing something stupid or asshole-ish—so long as they aren't complete sociopaths.
We live in a world where anonymity is way too easy, so the shock of having someone actually call you out—to your face, and preferably with other people around—can hit even harder. At this point, shaming people through the streets shouldn't even be necessary. Just speak up where other people can hear and maybe the shitheads will realize what they're doing is wrong, or at least that the results aren't worth it.
—Being temporarily ashamed and guilt-ridden is better than being a piece of shit