So what's the answer ?
To make the penalty for any form of corruption life in exile. Essentially if you cheat you are instantly kicked out the game. That way, people will still do it but the 'threat' of their career being ended is then very real. With the fact we've had some of the spot fixers in 2010 and sandpapergate recently and those players could/will be or are back in game just isn't a deterrent.
If you know that even a simple act of using dirt, sand paper, finger nails all the way up to match fixing will get your kicked out.. YOu will find 99.9% of players won't even entertain the thought as it'll be too risky. Add in the ICC putting more finances into education of players and the detection.