Yea I think the best way is to first heavily restrict their freedom until they normalize and then have an incentives-based system that rewards positive behavior and actions with more freedoms until they can return to a normal life. Unfortunately, drug addiction is always the product of something deeper that's causing self-medication. Personally, I think a lot of addiction is due to a lack of connection with others and a lack of purpose for being. I like the concept of community service in the form of actually interacting with other members of the community instead of picking up trash on the side of the freeway for example.