Rather than change the criminalization model, decriminalized drugs makes it more accessible than ever. Makes it so much harder to treat. What should happen is that we change our criminalization model to come health and safety first. Treat the crime almost as a juvenile offense, keep it as a different record non-impactful. The lack of broadening our criminalization system is the problem.
For those with mental health you obviously can not criminalize this. You would want to move toward a home where people live and manage together.
Standard and normal homeless would then get exactly what is needed. Treating every problem as if it was the same is how we wound up with so many people on the streets. Every problem needs a human solution and not a one fits all category.