A contract is a contract though. Large contracts are the same as small ones. If the owner or engineer is inexperienced, lazy, or vague the bid documents (plans and specifications) will not explain exactly what he wants done. In that case ANY smart contractor will be able to take advantage. Usually, before bid time, the contractors will submit questions to any discrepancies but if they are not noticed than usually the owner will pay. But, if the contractor makes a mistake or omission in calculating his bid he has no choice but to finish the project with a loss.
"But you would have to change human nature itself to stop people taking advantage of their contacts in high places. The further up the food chain you go, the more important it becomes."
I do not think this is true. People are people. Everyone likes to make money. My mind is always planning, calculating, and comparing schemes to make more profits. It is part of the game. Huge companies have many smart people planning, calculating, and comparing schemes to make more profits too. That is why we are all in business. Employees primary task, always, is to make money. It will be the same in a private world.
I do agree that without government there would not be cases, as in what may have occurred above, where the government employees have incentives to give work, and money, away to family and friends in the private sector.