I agree that many panhandlers want the money for drugs or alcohol. No debate there. However, we have a problem.
The problem is that what someone does with money voluntarily given to them by a stranger is, generally, not our business. If you feel as if someone is trying to ask for a handout to pay for drugs, then do not give them money; it is a personal choice, not the government's. I think it's wrong to simply assume that one person has malicious intentions simply because others in similar situations have had malicious intentions in the past.
If a panhandler gets free money and then uses it to buy drugs and he successfully hides those drugs from those whom would seek to perform a citizen's arrest or from law enforcement agencies, then as far as the government and any proud U.S. citizen should be concerned, the bill of rights has succeeded in doing its job. We haven't outlawed common sense. It a homeless person comes up and asks for change and he have needle marks all over his arms, don't give him money. If a homeless person comes up asking for change and he reeks of alcohol, don't give him money. If a person with good intentions gives money to a homeless person who in turn spends it on drugs, don't put that person, who may simply be naive, in jail!
You have a leak in the roof? The U.S. solution is to create 10 unneeded jobs and waste taxpayer money to have plumbers install a drain in the floor because to hell with the actual problem, right?