I don't get blaming the mentally ill for violence. There are plenty of people with mental illnesses who aren't violent. And there are plenty of perfectly "normal" (as in, wouldn't be diagnosed as mentally ill) people who commit violent crimes. A lot of evil is done by perfectly ordinary people.
As for the Charleston shooter...racism and sexism aren't mental illnesses. They are an endemic part of American society, whether you recognize it or not.
Most of the mentally-ill are more nuisances than menaces. But no more than we allow drunks to operate motor vehicles, we don't need to allow the mentally-ill to bear firearms.