You would need to introduce an equilibrium encouraging money system and prevent the extraction of land rents. Those things are never going to happen, because they are too obvious of a solution.
The current money system heavily discourages equilibrium formation, which allows disequilibria like the geographical concentration of money to occur, which in turn make it harder to earn money outside of large city hubs with expensive real estate. It is not possible for these homeless people to move away and earn a living on their own, because it would mean distancing themselves from where the jobs are moving towards. However, even if you make jobs available outside of expensive locations, there are still going to be people who need to live in the expensive location for whatever non job related reason. Those still need a solution to densify the existing location so more people can live there. That is why you need to prevent land owners from extracting benefits created by the collective surrounded the plot of land.
Again, the solution is too obvious for anyone to care about it. We can't demonize people, we can only demonize their ability to do bad things and set the incentives up in such a way that "greedy" people and "morally good" people do the same thing.
If you wanted the same answer in short: Demurrage currencies and land value taxes. Too simple to be believable.