You raise some points that I've heard before, and I would like to address them all, and explain why I think it is rational for me to give money the way I do.
(1) "I would say that is a horrible waste of capital" to give money to meth addicts.
I give a dollar to whoever asks me for money. I can't tell who is a meth addict and who is not. I am sure much of my charity goes to alcohol, tobacco, marijuana, meth, and other drugs. I just consider that a cost of doing business. For every dollar I give out, some subset of that money goes to __non-drug use__. I think that is a good use of my capital.
(2) "Due to their lack of will power to 'succeed' rather than lack of opportunity."
There's a couple of things to say to this sentiment.
First, I often hear the notion that impoverished people have the opportunity to bring themselves out of poverty. That's not true. The world's economic system results in non-zero unemployment. Meaning there are more people who want jobs than there are available jobs. Thus there are inevitably many people who want to work but can't get it. The only way they can survive is through charity --- from either friends, family, strangers, the government, charities, etc.
The last point I'll make might be the most controversial, but it is also at the core of why I give money directly to impoverished people.
I am skeptical that "will power" exists in the literal sense. As in, I am skeptical that free will exists as much as people tend to intuitively believe. It seems to me that humans are just moist robot automatons whose actions are the result of their current physiological state and response to the stimuli on their senses. Some interesting scientific research has shown that humans can perceive more free will than they actually have. There is also some interesting philosophical arguments that suggest free will could be a complete illusion. See http://en.wikipedia.org/wiki/Neuroscience_of_free_will
So I think it's possible that people who "lack of will power to "succeed"' are simply __unlucky__. And I happen to be lucky. I am smart, tenacious, hard-working, have relevant job skills and I happen to live in a society where those variables are rewarded with wealth.
It therefore makes sense to me to give people small amounts of money when they ask for it. It just might be the case that I am lucky and they are not.
I do not expect this money to solve any of their problems. But maybe the person I help will buy a tasty snack and their happiness will go up in those moments. Or maybe that person will buy a cheap ukulele and teach himself to play --- which happened the other day with someone I regularly give money to.