Every time a user signs a transaction, that transaction is factored into their own individual moving average. Any time a user’s moving average exceeds the current network limit their transaction is delayed until their average falls below the limit.
Rate limiting based upon balances implies that there exist unique accounts with publicly knowable balances. Any account with a balance below the minimum required to transact once per week would be unable to transact. This implies that all new accounts should be funded with at least this minimum balance.
Basically, this is the same business model as my bank account: everything is free as long as you have at least $5000 in your account, and you let the bank earn interest off of it and pay you 0.05...um, I mean 0.00%.
Because there's still a rate limit, and that rate limit is still proportional to how much you put in (if you want to have 2x more transaction processing capacity, you could at the very least get two accounts), and as we've known since at least Bastiat the time value of money is itself worth money, this is basically an incredibly roundabout transaction fee scheme, and so it raises the question: are there other somewhat less roundabout transaction fee schemes that would also do the trick?
The "gas" metaphor in Ethereum was chosen in part for this reason: it's supposed to feel like filling a tank of gas, driving around for a while, and filling it again. Gasoline is a micropayment system, and yet we've managed to avoid the problem of drivers anxiously deciding whether or not moving their car left one lane to get around a slow driver ahead of them is worth the $0.0057124 amortized cost.