Hair test them, if they test positive, they cop a 4 match H&A ban. Easy. It's hardline without being career threatening and defuses the situation.
I agree and the embarrassment in being banned can be worse than the ban itself, with the public announcement and how they have let their team mates and club down. As we heard from Krakour recently on how he had let his mates and club down in being caught out in drinking and putting himself in a bad position!