I'm for legalization, because prohibition doesn't work and the vast majority of drug users aren't addicts. Prohibition of drugs, and the attitude that has been produced by that prohibition, that if you use you are an addict, and will use till your life falls apart, are wrong. The majority of people that do drink alcohol have no problems with it, but some become alcoholics, should alcohol be illegal because of it? No, they should just be given help to overcome that problem, because prohibition has been proven to not stop the use of drugs, of which alcohol is one, and prohibition causes more problems than it solves.
By legalizing these things, you can create regulation to ensure a quality of product, which is a big problem for heroin users and contributes greatly to the amount of overdoses there are. You remove the lucrative black market, which removes the gangs, and the violence which comes with them. You can tax the product to help cover any associated costs to the society, for example on health care or treatment programs, the excess of which will be a windfall for local governments to spend on improving areas. Prison systems will be massively unburdened, as drugs charges are a massive drain on resources.
Of course there are some people that say, 'but everyone will become addicts'. Really? How many of you would go out and do heroin this weekend if it was legal? I'd bet not many. The people who want to use it, already are using it, and will continue to use regardless of it being illegal. It's through education that you lower the number of users, but when it is illegal you push these users underground and away from the agencies which could educate and help them.
Free needle clinics have worked wonders in many countries, because it is a point of access to these users in which you can get them help, be that education or medical help, since an illness caught early is much cheaper to treat, than if it is left to fester and then they turn up at an ER sometime later. If you went one step further, and just gave out free drugs, then you will remove a large amount of petty crime, crime that is done to fuel addicts habits, but affects normal citizens the most. These would be your car thefts, burglaries, muggings, convenience store robberies, and crimes like that.
One of the most astounding things these studies have proven is that the life span of an addict, when you can reach out to them with systems like these, is around 3 years. By that point the majority lose interest in the drugs, and want to get on with their lives in a meaningful way, but showing them there is a way out and it is available is the key. Making them criminals just makes the problem worse.