That individual consumer stopping won't actually fix the problem though, it'll just remove from them any moral obligation to do anything to actually fix things under your framework.
If you want to work against drug trafficking empires (by decriminalizing or otherwise) I'd say it makes perfect sense to also not give them your money.