Although the factors which everyone suggests certainly contribute to cost-over-runs, the main culprit is the management entity who disregards the reasonal cost assessment provided by the professional and competent cost estimator (not some engineer with tunnel vision who can add a row of numbers together). The competent estimator calculates this cost based on defined scope provided. That estimator's supervisor then typically reduces the value of the capital cost estimate provided in order to sell the idea.
To answer your question regarding "pro-active action to prevent or mitigate," short of hanging said cost-cutting management entity by the toes and beating him with a slide rule, the alternative is to live in a perfect world. Unfortunately, the poor estimator is usually the one beaten, drawn, quartered and then fired.
Given that we will never totally mitigate these behaviors or live in that perfect world, our recourse as a project control professional for a project in development is to forewarn, using systematic forecasting methods which include not only change orders/changes in scope, but trending based on productivity and common sense. As long as we are diligent about keeping this information on the table, our job has been done. The management entity who chooses to ignore this routine tool of forewarning is ultimately held accountable, but as we all know in our imperfect world, it's the messenger who is shot!