The problem with American treatments of homeless, drug addiction, even public health is the idea that EVERYONE has some level of personal responsibility – that there is a minimum threshold to "earn" something that you have to do and if you don't, you deserve your fate. And this transforms into public resentment because "if they aren't willing to do the bare minimum, why should my tax dollars support them?"
We need to get away from thinking about these problems as a way to force people to "earn" the relief, and instead think about the resolutions as a way of making everyone else's life better. I don't like that there is homelessness. I don't like seeing drug addicts poop in the street. I want folks in that situation to be taken care of for MY sake – to make my city better, to relieve me of the moral burden of thinking about people suffering, etc.
Because here's the thing: Some people are NEVER going to be able to maintain responsibility. Some people are NEVER going to be upstanding adults. NO MATTER WHAT we put them through, the worst prisons, the worst homelessness, the most outrageous policing, they're just never going to change. There is no remedy that solves this problem with a burden on the unhoused individual. It's society deciding to solve the problem REGARDLESS of whether the individual has "earned" the resolution.