The first solution to homelessness is simply to put people in homes. Society needs to guarantee people a place to stay, if it doesn't want them camping out and perhaps freezing to death. Shelters don't count, and neither does any other kind of monitored living. Those interventions drive people away from help. They need their own apartment or house with the same freedoms and dignities as everyone else.
The second main thing the homeless need is income. That means jobs for those who can work, which is a lot of them; or some kind of public assistance for those who can't work. This is much cheaper than leaving them on the street to subsist through begging, stealing, or emergency services.
The third thing they need is resources. That includes everything from supplies to health care. Most homeless aid focuses on very small, short-term things like food or emergency medical care. That might keep people from dying right in front of you but it does not solve the problem. You have to make it possible for them to build up the components of a healthy life.
And you have to do all this in ways that the homeless population will find attractive because it meets their needs, and not shy away from due to strings attached. People don't risk death from exposure for no reason. If they're sleeping in the snow, it is because there are not enough shelters and/or those places are literally worse than death.
It's something I write about, periodically, because some of my characters are homeless. Danso and his family were homeless for months. Turq has been on the street even longer, and it's hard for him to accept help even when the offerings are safe and not judgmental. So I keep an eye out for ways to address these kinds of problems. How do you meet the emergency needs, how do you give people a route back into society, how do you get people back into homes, and especially how do you fix the root causes that drive people into homelessness in the first place? Solutions exist, a few places are using them, but most just can't be arsed.