I've come across these kinds of problems commonly here in Chile, and you know, I don't think anyone has the right solution, but in my personal opinion, I think that everything comes from the individual, it's very difficult to help people in a homeless situation because most of them have decided to resign themselves to living that way, and it's practically impossible for them to see themselves in the role of "contributing to society and receiving something in return" and for that reason they settle down and just wait for someone to get them out of the situation, which is never going to happen.
I know a boy here who has no arms, he has them deformed, he only has part of his shoulders, and yet he has managed to get ahead and make a life for himself... in the same way, I see people living on the street with possibilities of doing something about it, and they don't do it...
It is true that many efforts can be made to control the situation, to improve it, but as long as those people are not willing to leave that state, they will not.