I think, and this may just take a while to get out as I have had a few beers after a good few weeks without, and am taking it rather poorly.
I think that doping should be treated as a illness / psycological condition in cycling, and the riders helped go clean rather than punished.
(in my currently rose tinted world) the UCI or WADA or some such body should create an ex-dope team, purely for riders who had sought help to get off the drugs. To get a place on the team the rider must have previously doped, and then gone officially clean, and accepted some kind of help, a bit like AA, except it would be public knowlege Dopeaholics Not-anonymous of something a little more catchy and less patronizing.
The ex-doper team would be allowed to compete in all the major races and its members not only rigourously tested, but made to keep going to Dopeaholics Not-anonymous.
They could be a beacon of hope, riding in unbranded gear so that there is no push for them to bring in the corporate bucks by winning.
Maybe if riders could be given a safe haven like this, and be treated as victims rather than criminals, we would see more come forward. If the riders can slowly be convinced that doping is done because the rider is ill rather than just a cheating scumbag maybe other riders will be inclined to try and 'help' their friends stop doping, rather than condemn them to career ending bans.