Sounds nice but even if legal and provided free, we would still need increased police, emergency services, et al.  this fantasy that problems would disappear if it were free is nonsense.  All your solution would do is guarantee we pay for it on our tax bill directly (hand in hand with government mismanagement and waste) in addition to continued costs for insurance, policing, etc.  

Also, have explaining to the general public that giving heroin away in a nation of $400 epipens and $50 doctors notes is in any way fair.  Next thing you'll be suggesting that we provide free cabs for serial DUI offenders and charge it to the taxman...