I think this is best handled by local government. They can organize this better than individuals. They can provide the professional support and care that is necessary. The city I live in provides homeless people with a place to sleep, they provide them with warm meals, a place to shower and wash clothes. They also provide clean syringes and anti-conception, they provide books and newspapers to read, facilities to exercise. Maybe most important, they provide advice and counselling and give people a way to get things back on track, if they want to take it.
The national government provides them with monthly income (welfare). Which I will agree isn't much, but should cover the absolute basic necessities, especially combined with all the other help available. The local government also helps people to actually receive this money, to prevent the bureaucratic nonsense of homeless people needing to supply an address to apply for welfare.
To accomplish all of this, we pay a relatively high tax. But many people still give quite a bit of money to their favorite charities.
Of course, all of this requires the homeless person to cooperate. The system handles most of cases quite well, there aren't many beggars around, despite being a popular tourist destination. The groups who are not covered fall mainly in the categories: criminals, drug addicts, people with psychological problems, homeless by choice or lifestyle. For each of these groups I feel giving them money is a bad idea, but I hope they all find the help they need.
So no, I don't give money personally to beggars on the street. Yes, I happily pay tax and support charitable organisations.