Great suggestion. It needs some thinking about and testing, but at first glance it sounds like it would allow separation of pricing from the blocksize.
A monopolist finds it profit maximising output by finding where marginal revenue (fee) equals marginal cost (the cost to add another transaction to the block), and then uses that quantity to decide on the price to accept in their blocks.
My concern is that the marginal cost is made up of a number of factors, one of which is the blocksize decisions of all the other miners, and gameable….
If miners do not operate in a perfectly competitive environment, (the current environment is more oligopolistic) then those in a better position can use their power to force out smaller players (ie through accepting huge blocks). Which would lead to centralisation….
However this idea has a lot of merit, and is a great step forward towards solving the current impasse. Maybe implementing these rules over a long period of time (say 2% of the total blocksize/mempool a year) would allow integration while minimising centralisation issues.