The problem is that if a pool gets significant percentage above 50%, it can control the network. It can censor transactions. It can reject blocks by other miners. If a block from another miner is rejected and the mining pool has above 50% of the hash rate, the competing miners will have wasted their mining. This disencentivises them from mining on competing pools and incentivises them to mine on the large pool. This makes the dominant miner even bigger. This is an example of misaligned incentives.
Anonymous p2p mining pools with ability to be arbitrarily big or small will be ideal in my mind. Solo mining will not cut it simply because people won't do it (for the same reason they are not doing right now).
This should be solved before a mining pool gets too big since if hypothetically a mining pool starts rejecting valid competing blocks, it may become necessary to change the proof of work algorithm, wich is extremely undesirable.