The real problem is that in order to monetize software under GPL, a company will benefit from making it hard to compile, hard to install and hard to use, because most of the money will come from the service you offer and not from the software itself. Even worse, the GPL encourages dual licensing for commercial purposes, using the GPL as a corset from which a customers can free themselves only by paying a hefty fee. Companies then use tricks in the legal grey zone to discourage the use of the GPLed version, for example delaying publication so it always lags behind the version with commercial licence.
AdaCore is a good example. They offer a GPL version of GNAT, but in contrast to the FSF version it is under the full GPL and not under the mGPL. Since Ada more or less requires a runtime engine, this means that all your executables from the GPL version will be licensed under GPL. Or, you can pay a hefty fee for the commercial license. At the meantime, they make sure to bundle their GPL version with a lot of essential, but GPLed code that is not in the FSF mGPL version and ensure (with delayed contributions) that the FSF version lags behind. With that strategy they have managed to boost sales for their commercial license, but it is probably also one of the main reasons why Ada has not gained and will never gain any widespread popularity.
Your suggestion is not good, though, because it would just institutionalize the bad behaviour that companies are already demonstrating currently in a legal grey zone - delaying the release of source code, making it hard to understand, branch, compile on your own, etc. The only one who would win from this change would be proprietary software makers, and they are constantly being unfair already by taking away essential freedoms from their users.