Remove people from society who steal instead of contribute, give them the opportunity and tools to rejoin productively repeatedly until they can.
The homeless people who cause problems are now are, for a lack of a better word, fucked. It would cost tons of money to get these people the rehab, therapy, and education they need to reintegrate into society. It would be politically impossible (and probably financially unfeasible) to implement these changes. A better solution is just not creating these people in the first place. That is what housing first policy tries to achieve.
The vast majority of these people stories are the same - due to systemic poverty issues they weren't able to have stable housing and could not go to school or land a stable job. It was then they started petty crimes like doing drugs/stealing, and once they had a dependency on that lifestyle, they became a regular criminal over 10-15 years. Anyone who tells you they are going to undo 15 years of trauma within the next 3 years is selling you a lie.
What they do after that isn't really relevant to be honest. I'm not trying to polish people into perfect rule following members of society and anyway homeowners get addictions and commit crimes all the time as it is. We don't generally leap to questioning their right to have a place to live though.
If giving homeless people houses solved no other problems it would still be correct and morally necessary.
This is one of the most difficult things to get across with solutions like this. The GP is a prime example of this kind of thinking; it's a refusal to look at systemic problems and apply systemic solutions and only focusing on the individual. The implication that if you gave someone a house they would turn around and stop stealing the next day is mindboggling for everyone. No one (should) advocate for housing as a magic wand to undo 20 years of rot.
Andre's "problem" isn't going to be fixed by anything other than likely expensive therapy and/or apprenticeships. The system has already failed him and it will be very expensive to fix. A cheaper solution is to not create "Andre" in the first place - a homeless 14 year old cannot possibly be expected to get an education or even begin integrating into society.