I think you're looking at this as if mental illness is source of the problem, a problem which can manifest itself as a racist killer.
The view that I (and I think others) take, is that the problem here is racism in the form of widespread propaganda. In this case, right wing propaganda in the aftermath of the Zimmerman/Martin case. And when certain susceptible people, ie the mentally ill, societal outcasts, psychopaths, etc.. are exposed to only biased information, a few of them will funnel that hatred into violent acts. But the driving cause of their actions isn't mental illness, it's racism.
I don't view Roof as a monster, any more than I view Tsarnaev or any of the 9/11 hijackers as monsters. They're individuals doing what they thought was right. It doesn't make them moral or any less culpable, but if we want to reduce the number of future incidents then we have to understand why people do horrible things.
So if we want to start pointing fingers, then the best place to start is at all of us. Far too many of us see racism and turn a blind eye, or ignore it all together. Others stoke the fires of racial hatred for political or partisan gain. Still others promote an underground of hatred. They might not commit any acts of violence; but were it not for them this tragedy would not have happened.
We need to take stock of our own biases and prejudices. Having them doesn't make us bad people, it makes us human. What makes us bad is refusing to look for them or pretending that they're not there. We also all need to acknowledge that most African Americans exist in a world that most whites can't relate to. They regularly deal with problems that whites never encounter. White privilege is a real thing. It doesn't mean that whites don't work hard, or aren't deserving of success. It just means that maybe some empathy is in order.
That's why I'm torn about this whole flag thing. It's great that a number of members of the GOP have condemned it, and we should all applaud them. But I worry that the taking down of the flag is a distraction from the real problems. Maybe at the end of a long drawn out debate, SC will "accede" to the blacks demands and "placate" them by removing the flag.. And we can feel good about ourselves because we've "solved" the problem of racism once and for all... all without actually changing anything or asking any hard questions about ourselves.