Jane, I get what you're saying, but having volunteered in a homeless shelter, I have some perspective on this.
The homeless people that you see usually really are the ones that you don't want to give money to. They usually are the ones with drug or booze problems, or that simply do not want help and don't want to try to get off the street.
Most of the homeless aren't begging. They're in shelters, or cars.
There are plenty of resources to help homeless people. I've seen them and been part of them. There is a highly visible but small percentage of the homeless population that simply don't want to take advantage of these resources because there are rules around them; like curfews, schedules, restrictions on behaviors, etc.
I never ever give money to healthy homeless people. I do, however, donate time and money to a specific charity in my city that helps them. The one I speak of provides beds, food, clothes, job search help, counseling, transportation, phones, internet, and other services to help them.
If you really want to help the homeless, don't give a dollar to some guy with a sign. Give it to a shelter. You're really only helping to perpetuate a problem by giving a guy a buck.