There will always be people who are sociopaths, or people who just don't care about other people. There is nothing we can do about them. However, false morality can be stopped. If a good person does evil, it is worse, because we could have stopped them from doing an evil act by instilling them with proper morals. (AKA not religious fundamentalism)
Think about it, who is more infatuated with picking on homosexuals? The idiot in school who just feels the need to tease others, or those religious and political moralists?
People always act more aggressive when they think they have a moral cause. People who dont care about morals are yes, jerks, but they have nothing else to fight for then being a jerk.
Take our corporate system, they are only so powerful, because we the people have let the politicians put a moralistic spin on it. Why do they have to cover up corporate abuse with creating a culture of servitude to the man? Or no one would be that hostile to the corporate system.
CS Lewis had a good quote on the worst kind of tyrant being a benevolent tyrant, because there is nothing to stop them.