Ok, we must not forget that there is some electricity cost for mining blocks, mining an empty block is not profitable.
The question is not really about empty blocks. All miners don't work on the same set of transactions from the mempool. It can happen that some miner arrives at the next acceptable hash immediately, rather than 10 mins after the current block.
total amount of all the transactions inputs - total amount of all the transactions outputs
nb of transactions
@amishmanish, I think this post may have addressed your concerns as well...
If you are just calculating from the mempool then it becomes unrelated to the actual set of transactions you want to affect price-wise. This continuous variation also puts another set of calculations, consensus requirement and propagation delays for the miners to calculate, especially if you talk about adjusting size in every block. I don't think this is feasible.
Some kind of DAO based variation over periods of high fees maybe a different thing but that opens up to politics and is entirely not suited to Bitcoin's mathematical purity. That is why I have been asking if you have seen an actual implementation or you plan to think this over and then come up with calculations.
I think you should move this topic to "Bitcoin Discussion" already.