Actually I think that substance abuse (cigs, alcohol, heroin, etc.) is the reason why many of them are homeless to begin with. The right thing to do for them would be to medically cure their addiction, thereby making them capable of helping themselves. This is hard to accept for those who don't know how to cheaply and sustainably treat addictions.