next block size limit = previous block size limit + (total fee in the last period / avg fee in the previous period - space used in the last period) / block occupancy rate for the last period
As you said it is not a common practice, therefore it shoudn't have a significant impact on the result of the equation.
What I describe is an edge case, and for something like bitcoin, it will need to be considered. You should really always consider edge cases, and corner cases (a situation in which multiple edge cases are combined into one) in production code, however with something with bitcoin, where there is literally billions of dollars potentially available if problems can be exploited, it is especially important to address, even perceived unlikely, or unusual scenarios.
Users will always have the option to offer a commission on their transactions, which gives the miners an incentive to include those transactions in their block. I hardly see how miners could collude to prevent that.
Actually, you're wrong. The merchants will usually not charge the transaction fee to the customers.
Some may say it up front on a sign and request that extra % as Fuzzy mentioned.
Others it is as simple as part of their business accounting.
All businesses that aren't going broke yesterday, will know their costs.
It is simply yet another cost to cover in their price.
According to https://ycharts.com/indicators/bitcoin_average_cost_per_transaction, for bitcoin, the avg cost per transaction was 231.90 USD yesterday (inflation + commissions), which is a lot higher than the avg cost for a CC transaction.
If you are going to compare CC to BTC transactions, you need to make apples to apples comparison.
In the case of btc, inflation is part of the payment system, it is not the case for the traditional banking system where account balances' and payments are separate. I guess there are different ways of seeing it.