Okay, I'll use the sarcastic but wise words of the late comic George Carlin: we don't have a homeless problem, we have a houseless problem.
And that is composed of several other problems including poverty, mental illness, substance abuse and the high cost of housing. There is not enough housing. Carlin suggested that there was plenty of land in cities and suburbs going to waste. They are called golf courses, huge tracts of land, mostly lying idle, used only when the weather is ok, usually by funny-dressed guys in groups of four who pass through every half hour or so. We could house plenty of people there. Here's my idea: put little houses in the rough, the areas between fairways.
Seriously, there are plenty of programs that work, some better than others. In California, we used to put the mentally ill in big institutions. The history is that they shut down during Reagan's time, with the promise of community based smaller programs, a promise unfulfilled. Many of the homeless in my area apparently work, with reports that they commute to weekday jobs, and go to shelters, RV's or sleep in parks. There is a colony in a long narrow grassy strip bordering a rapid transit route, leading to an underground tunnel where trains disappear. The community, such as it is, has outdoor cooking facilities and even solar panels.
There is no simple answer, though jobs and housing are the solution. People blame cities, but I assume that the homeless would be scattered more evenly were there pedestrians to beg from in suburbs, so cites take many of the misfits or people down on their luck from other parts of the country, with I assume Califonia's weather being an attraction. But it's easy for the right to blame cities run by democrats and naturally, offer no solutions. Blame-game politics trump potential problem solving suggestions.