It sure would be easy to fix (well, more precisely easier to fix) with infinite money. I think the kicker is that the dollar cost to fix it is going to be uncomfortably large and a lot of people are going to scream bloody murder about it.
Beyond that, I'd suggest a triage system. Some of the interventions are pretty straightforward, some aren't. Some will require legal changes.
If a homeless person still has a job, and has lost their housing because of some recent drama, intervene early and provide temporary housing to get them on their feet again and keep them working. If a working person loses their housing for some reason, they are at high risk for losing their job. Intervening before more damage is done is money well spent.
In the same vein, identify people who are employable if they were not homeless, and hook them up with services to get a permanent address and a phone number so they can get a job. Again, this is expensive but less expensive than letting that person's situation worsen and require more expensive interventions down the road.
Now it gets more complicated and you'd likely need legal changes far beyond my expertise. It would help if there were laws in place that allowed authorities (not necessarily police) to temporarily detain homeless people for mental health and substance abuse screenings. Ideally during that process they would be relocated as well (more on that below).
Provide camps where we relocate still-homeless people to. Ideally those camps would be far from population centers and indeed any population at all (if you inspect a map you can find quite a few good candidates). Those who need mental health care, substance abuse care, or regular health services would be offered them. Everyone there would be under shelter, adequately fed, and adequate provisions for hygiene and sanitation would be provided. People who wanted to work would be offered jobs. Before I make this sound too much like paradise I'm basically describing a refugee camp. I'd expect spartan conditions. At the same time everyone brought there would be free to leave under their own power after say 48 hours -- long enough to get some square meals, a shower, medical checks, and have their clothes washed.
As a last-ditch measure, we need to update our rules on institutionalizing the mentally ill. A lot of the reason we have this huge, festering homeless problem is that we made it from very difficult to impossible to institutionalize homeless people in the 1970s. We closed our mental hospitals for the most part. But we didn't fund the network of outpatient services we'd need to substitute for those mental hospitals. We need to bring back institutionalization in some form.
So if people don't want to stay in the camps, say after the third time they've been detained they can be involuntarily committed at a mental institution.
Note that this will require a deep pocketbook and some strong stomachs. It is likely that conditions both in the camp and institutions would be appalling by our standards. But we need to be realistic and remember that "living" under a pile of blue tarps in a wal-mart tent and pooping in the bushes in Roanoke Park is pretty appalling too.
Another axis of this problem to consider: we need a PR campaign to discourage people from giving money directly to homeless people on the street and to discourage homeless people from begging. In India begging is basically industrialized, and they will blind or maim children so they are more profitable beggars. So we need to encourage people to help homeless people not by directly giving them money, but rather by donating to well-ran organizations that help them. We might consider a voucher system where you can buy a coupon book and give the coupons to homeless people. That keeps the money from being funneled up the chain to some small-time crime lord or spent on drugs or alcohol.