The main question is whether we want corruption to actually deter the player as a form of punishment. If the answer to that is yes, then the currently presented method of all penalties being known before hand is the least effective way to produce good behavior or extinguish bad behavior.
This all comes down to
Operant Conditioning and how it works. This is a well known theory of how we process reinforcement and punishment.
By knowing the penalties beforehand the player gets to take a measure of if they will go ahead and take the penalty this time or avoid it. They also get a chance to learn ways to work around the system. This will lead to a slow response rate and a fast extinction rate meaning player behavior is not likely to change over the long term decreasing the effectiveness of the goal of corruption.
Now if we take the approach of an unknown and variable punishment the response rate will be fast and the extinction rate would be slow. The player would not be given the opportunity to weigh whether they can take corruption or not. This would make corruption much more likely to deter negative behavior.
The variability could be in amount of corruption, length of time with corruption, stat change, experience loss and ultimately number and types of items lost if a bounty hunt is successful on the player or any number of other variables.
This would not take a big overhaul to change as the corruption system itself would largely stay the same. I would imagine it would be fairly easy to test in alpha 2 should the original idea not produce results as robust as hoped for.
Just a thought.