So, I think there is a huge misconception of so called 'greedy' miners. The issue of higher fees isn't really the miners fault. It is the rules of the protocol that is. For example:
In the protocol (disregarding the security aspect for a moment) It doesn't matter if there is 1 miner mining or 1 billion miners mining. The maximum number of transactions allowed in a block is exactly the same and the amount of time for that block to be mined will also be the same.
I think maybe a solution to high fees would be to make a rule that would require a First In First Out system with a guaranteed minimum fee. Now this wouldn't decrease transactions or transaction time, but would remove user incentives to offer higher fees because they would have to wait their turn to be confirmed, creating a more level playing ground. This would also give businesses some reassurance that they will get paid once the transaction has been broadcasted in a somewhat predictable matter of time.
Just a thought.
You can't have a "first come first serve" policy (i think this is what you are talking about) because the system would collapse in an huge queue of transactions. At some point you need to make a cut and stop dropping transactions because resources are limited, this is why the fee market is the only solution thus far, as well as trying to decrease block weight with measures that some consider controversial or unsafe.
What is clear is, increasing the blocksize centralizes the network, but it's yet to be seen if Bitcoin can survive with the same blocksize forever. All these block weight decrease measures (MAST, Schnorr, and the now active segwit) must be tested a ton and would need to be on the mainnet for a couple of years before I would call anything other than legacy transactions safe.
Trying to increase the blocksize will always be an incredibly complex problem that will most likely always end up in 2 Bitcoins, one that wants to stay as it was, and one that wants to have a bigger blocksize.