To me it seems that the fundamental problem is that the entire block reward (coinbase + fees) is going to a single miner. Note I'm using the word "miner" in the strict sense of the word, i.e., the entity which decides what transactions to put in a block and gets to distribute the reward, i.e., a mining pool operator.
A solution therefore might be to have multiple PoWs and multiple rewards per block
Snip...
The effect of this will be that controlling > 50% of the network hash rate is not enough to consistently control all transactions. Increasing the number of PoWs per block from three to five reduces the number of transactions under the control of a single large miner even further. Of course, for a number of hash power large enough, the miner will again be able to control all blocks, but this number will be 80% for five PoWs, plus that it can never be sure it finds the PoW for a malicious self-inserted transaction before another miner, as it can not predict which set of transactions the PoW it finds is valid for. This reduces the ability to abuse its mining power.
The idea of a 51% isn't that the majority shareholder finds all blocks ever. It's that he can mine ahead/around any short fork that is created by the rest of all miners. At that point, he rebroadcasts his version of a sidechain which then overwrites that shorter fork.
With this multiple PoW system, it's just a more elaborate version of the same system. Eventually a 51% miner would just overwrite the chain after taking a side fork.