I would argue that those who ask and give money are not the best judges of what is in their interest.  Here is a link to an article that references some studies. - http://www.theatlantic.com/business/archive/2011/03/should-you-give-money-to-homeless-people/72820/

The best help for homeless is to help provide them homes and services to help them.  I know that I am getting a little tired of the fanning of the flames of class warfare in these discussions.  To you it might be that the poor 'offend our middle class sensibilities'.

This does not reflect who I am or what I believe.  I am not offended by poor people.  I want to help them.  I believe that time is better spent addressing the structural issues that address the problems.   There are many problems that need addressing, and educating people about solutions is key to progress. 

The whole 'middle class not wanting to see the poor' is a red herring and gets in the way of actual meaningful discussion of the problem