The solution in my mind requires everything, at once. Homes for those who need it. Mental support for those who need it. And enforcement for those who merely want to abuse and corrupt the system.
The homeless problem lumps everyone together into one camp and while they do suffer equally, their reasons are vastly different. There is no single solution, and it certainly will be difficult.
Unfortunately i see the friction involved in _actually_ solving this problem as so great that it will never be done. Though some extreme measures may be taken.