Aaargh.  It's not hard.  Amend Schedule II to the Controlled Drug and Substances Act to no longer include marijuana in the list.   Delay that change coming into force for one year.  That's it.  The feds are done.  

The one year delay will let provinces laws pass whatever health laws they want.  Cities can pass whatever bylaws they want.  Remember, federal government, the constitution gives healthcare to the provinces. You only get to touch it if it involves criminal law (see above paragraph), federal spending (what spending if it is legal?) or the residual "peace, order and good government" (hard to see how that is invoked here).  

The federal government has enough to do that it isn't doing (how is that infrastructure spending coming?).  If you are going to make pot legal, then do it.  And then get back to work on stuff you are supposed to be working on.