Why don't they consider borrowing an idea from cruise ships where you can guarantee yourself a level of cabin but not actually choose one. If any upgrades are going - your given priority.
i.e.
Gold / Silver - can choose their own seat as per current practice and also given priority if upgrades are required.
Blue - allow you to either choose your seat or not to choose your seat. If you choose your seat - you will be after gold, silvers and other blues (who chose to "gamble") and any other passengers should upgrades be needed.