With heroin you should still legalize possession, just not sale. Instead do what they do in Switzerland and the Netherlands: Have safe injection sites where the government gives you free heroin. Those who are diagnosed with addiction can come once a day and get a dose of heroin under medical supervision. The clinics often help find jobs for the unemployed as well, further helping them with their addiction. Typically once someone gets their life back together they'll be able to quit.