I think your post is closer to a solution for individuals than you think. Why did you give that one man money and no one else?
I always say no to everyone -- except when I didn't. That one exception was a man looking for either a bus ticket to go to Reno looking for ranch work or for help finding a job. I ended up paying $40 for a hotel room at Fremont and driving him all the way out to Pahrump and back the next day because there was a rodeo and carnival out there and he was a 20-year carnie veteran and livestock person. He didn't get the job because they were full but not because he didn't give it the college try. Even the head boss was impressed enough to go into the trailer and try to find a spot for him. I bought him dinner in Pahrump and got him signed up for a players card for free play. He got lucky and hit a quad. I also hooked him up with a job placement place here in town. Ultimately, I don't know if it did any long-term good but I gave it my best shot.
Why him? First, he wasn't asking for a hand out, but a hand up. Second, like you, he touched my heart and I knew inside that he wasn't a scam artist.
Unfortunately, almost everyone you meet in this town with a sob story is a scammer. That's just the way it is. In the end, it is still best practice to say no and to walk away from almost everyone who has a story. In fact, the better the story, the faster one should walk away. Still, it behooves us to keep a sharp eye (and perhaps heart) open for that one honest exception in a sea of crooks.