It's not an ideal solution, but it's probably a hell of a lot cheaper than our current solution - which is to lock them up, then let them out 5 years later with no real treatment.
Set up drug "centers." People go in, pay a minimal fee, get a fix, and are kept there until they come off their fix. Any profits realized are turned around into drug treatment programs to help people get off the addiction.
The way I look at it, people are going to get stoned no matter how many laws we pass - prohibition proved that. I know that people and families are torn apart by drugs, but I do not believe that the drugs themselves are the issue - they are merely a tool that the individuals use to escape their responsibilities. Even if they were not availible, the individuals in question would escape some other way.
The key is to let those individuals escape, provide help (and make it easy to get!) and stop providing a gigantic black market that gives $$$ to terrorists. Hey, guess what, the drug war is funding terrorists! I'm serious about that comment - the only thing the drug war has done to the drug cartels is driven up their profits.