There's really no way to do that, at least not for all cases. For example, let's say evidence came out about a player cheating 2 years ago, and the player has since switched teams. Why should the new team, who likely knew nothing about it at all, be punished for it (beyond the player suspension which is unavoidable)?
What they DO need to do is differentiate between classes of PED, and circumstances behind taking them. If it's obvious the player couldn't have taken it accidentally (via a supplement for example) and it's a heavyweight PED, throw the book at them (at least a year). If it's something like a recreational drug, even 50 games seems a little harsh. Etc. Right now the suspension isn't high enough to make the penalty worse than the potential reward in some cases.