I am a firm believer that neither of these are good solutions. I think the first thing that needs to happen is that we need to stop treating mental illness criminally. Locking people up who are sick is not good for them and it taxes the resources of the prison system. I really think that a different system is needed that is less about warehousing people and more focused on outcomes. For instance, prior to deinstitutionalization, mental institutions (although not perfect) provided an environment geared towards mental health issues. I think we need to revisit the idea of these types of institutions and maybe look at smaller more community based models.
I agree that in some instances, such as psychopaths, that there is no form of treatment available. However, just because there is no treatment this does not mean that we should give up or treat the person as anything less than being sick. For example, I recently watched a documentary on psychopaths and this was a great piece that showed that not only were these individuals untreatable but they also responded negatively to treatment by having higher recidivism rates. The researcher in the documentary has studied the problem most of his life and is now convinced that the problem is organic in nature. Brain scans have shown that there are abnormalities in these individuals, however the technology does not exist to correct it. I personally think that we need to deal with these individuals as sick people and at least study them to figure out these issues.