I heard the best solution on Glenn Beck last year. Spend the money we spend on the drug wars paying the generals in Mexico to secure the border from their side. For every illegal alien we find accross the border in their sector lower their bonus. SHAZAM! problem solved before they cross the border.
As far as the drugs go. I would be all for legallizing them as long as nobody in society who does them gets any of my money when they make a mess of their lives. A lot of the excesses and violations of our constitution go back to the origins of drug prohibition. If I could get the government out of my life by letting the young and stupid destroy themselves without having to pay their welfare and medical costs I would be all for it. Solve two problems at once, get rid of the drug gangs and lower the surplus population.