You're saying - "instead just give 5,000 dollars to a homeless person, done!"
I think the absurdity of the suggestion is apparent but just in case - there's the obvious issues of
1. Assuming OP is a software engineer with no knowledge of "the homeless plight" or the best economic mechanisms to drag someone out of homelessness, there's no way they could give the money away in a way that actually defeats the problem withouts significant research effort.
2. Donating to charity is a possibility, but is not as effective as "everyone paying 5% extra tax," which leads me to...
3. Rather than paying an extra 5% tax, the OP's most effective course of action would be to lobby the government and his/her local population to make efforts to pass legislation that enables the government to levy a tax on everyone, and then use that money to solve the homelessness problem.
So, just like the OP said, economies of scale, effectiveness.
I am mildly upset that everyone is somewhat attacking someone for wanting the right thing to happen but not just making it happen on their own. How absurd!
You're willing to pay more to solve a problem. Do it. No realy. Do it. The amount you're willing pay, pay that. It's that simple. Don't read more into it. Do it.