Why don't we just buy all the opium Afghanistan is producing? If we pay a higher price than the drug lords then they'll have to pay the farmers more to get their crops. We then ratchet it up again.
To make a profit, the drug lords would have to charge a much higher price for their product, so the cost of heroin goes higher than what a typical heroin addict can afford.
We then push it high enough that the economics of the heroin trade collapses.
This may turn out to be cheaper and more effective than our current strategy. If it worked we could try applying it to the coca trade.
As far as I'm aware, we still use opium poppies to make pain killers in the US. If we buy tons of it from Afghanistan, we could either destroy it or use it to make pain killers for cancer patients etc.
Again, sorry if this is a half-baked idea, just thought it worth discussing.