No pool does what is described above.
Since it is 'prediction' that means there is the chance of it being wrong.
Thus the pool would be mining an invalid block, until they corrected the mistake.
My bitcoin logs would show these invalid blocks coming from these large pools also.
Building a block beforehand doesn't save anything worth doing ...
The time to fully process a block on my pool is less than 100ms.
Thus any pool that can do a block change in 0ms (which isn't possible), will only gain one extra block, every 6000 blocks they find, vs my pool.
i.e. a 0.0167% gain. Though it will be lower again coz nothing takes zero time to do.
Orphans are not common any more, so discussions about large pools winning against small pools is pretty much pointless and irrelevant.
People keep quoting ridiculously large times to do block changes like 5-10 seconds.
The average time to do block changes will determine how often orphan races occur.
If it was 10s then there would be 10/600 % of blocks being orphan races i.e. 1.7% i.e. about 2.4 orphan races EVERY SINGLE DAY.
Clearly that is not the case. Yes some pools will do slow changes - a minority - crappy pools with badly written code and poor network connections.
Even if it was 3 seconds, the expected number of orphan races would be about 1 every 1.4 days - which is not the case either.
...
Jameson Lopp reviewed empty blocks a few years ago
https://blog.lopp.net/empty-bitcoin-blocks-full-mempool/In that review, only ViaBTC was mining empty blocks, which implies all the other pools had implemented the next+2 mechanism
More recent observations indicate that other pools are now mining empty blocks
Clearly wrong since most large pools have mined empty blocks for a long time.