No. I've been on both sides of the fence. I was homeless, then I wasn't and now I'm homeless again. I have never once asked a stranger for money and I will never ask someone for such.
First off, I know all the tricks. I know all of the stories they'll tell, "I need bus fair," "My kids need to eat," etc. And in the end, the reason they are panhandling is not because they need bus fair. It's not because their kids need to eat. And it definitely is not because they are veterans of war who cannot get a hold of their benefits.
In the end, the real reason they panhandle, is because they know that there are hundreds of naive and well meaning people out there. And in a given week, a very lucrative panhandler can actually make up to two hundred dollars a week just by putting their hand out and selling you a sad sob story.
So, does that mean you should not try to help someone who is homeless, or seems to be down on their luck? No. But there are ways to help the homeless that do not involve money.
Help out at the shelter. Volunteer at at a soup kitchen and maybe get to know some of the people there. You'd be surprised how hard it is for honest, hardworking people to actually get benefits and help, because people like the panhandlers you mentioned, abuse the system.
Maybe you know of places that are hiring? You can help some of the people who are having a hard time finding a job by pointing them in that direction.
If they need bus fare, fine. Buy a bus pass for them, so that you know what the money is going towards. Offer them a ride to the job in question, maybe even see if the shelters offer bus passes the way the ones in Burlington, Vermont do.
Trust me, you are not helping a panhandler by giving him money. Nine times out of ten, he is laughing at your back for giving it to him because he knows he will play on the guilt and the good intentions of millions more like you every single day.