You can't fully fix homelessness unless you also accept that some people would need to be forcibly removed and put into treatment, which most people who claim to want to end homelessness are against.
No matter how many programs and funding, you'll have the small percentage that is mentally ill/violent/unwilling to receive help.