I used to live in the States and I'm happy to now be in Canada for moral reasons. I can only speculate from my experience (when I went through hard times as a student working on my CS degree with unsupportive family "me being lgbt and they being religious conservatives") and trying to navigate what was available in my area while living in the USA.
I've come to the conclusion that religious ideology is to blame, as similar to rising cost of homes & tuition, and not enough jobs for everyone (when you consider most people have low skillsets); while considering not everyone can become a programmer or whatever in-demand profession because most people just don't have what it takes with age making it increasingly difficult to get into a skilled field with health factoring into the equation.
I think homelessness is rarely the outcome of drug abuse. People aren't going to drugs in a great life for no particular reason. In any case deciding to do drugs with life then spiralling downhill to where they're homeless is just ridiculous to assume is the cause. The idea that people do it to themselves is nonsensical. We're living in a harder time than the 90s, 80s, 70s, for the less privileged and the system needs to be revamped to get people into homes that don't cost them anything if they cannot pay for it.