I think blame is the wrong word. How about we try responsibility instead. The shooter is responsible for his own actions and behaviors.
The question that begs to be answered here, IMHO, is: If it is true that he was thought by others to be impaired, why did his family not accept the responsibility of affording him help? That's part of what families do.
Trhowing blame around is useless and resolves nothing. Learning a lesson and using it wisely would be more fruitful. Teaching parents about responsibility and making sure they teach their children the same.
Each human being accepting the responsibilitiy associated with their words and actions. We as individuals and as a society need to be careful what we say and how we behave.