I don't agree with the shooting up in public part. If they wanna they should put those people in rehab, not let them shot up heroin in public and litter the streets with health hazards.
I mean these people aren't shooting up in public when you're going to a location. You're physically going to some sort of clinic, being given a syringe and a 'room' (could be a real room, or a small private area) then you shoot up your heroin, probably stay for a little while and then leave. This limits the amount of LETHAL overdoses (as there are medical staff trained there to help) and the amount of diseases that are spread through people using and reusing needles.
I read about these clinics and I believe there are other countries with similar programs, IIRC Switzerland is one of them. I understand the benefit.
What I'm talking about those syringes on the streets I see in the news. That meant they shoot up in public areas and the city just allows them. Not really that safe since they can still OD out there and they may even be less likely to receive help since passerbys would just assume they've just passed out of drunkenness and other things.
I'd say keep the clinics but be more strict in arresting people found shooting up in public. The caught addicts also be forced to take rehab as condition for release. Might also convince those not caught yet to get their fix ONLY in the clinics.