Crossposting here a new formula:
My formula is a bit simple:
Account cost is same as FLIP 66 ( 0.01 FLOW as part of the account-creation transaction (1) ) but instead of giving 10kb, we give 100kb.
so technically we give 90kb bonus to each account: storage_available = 90kb + FLIP66 formula
This way we guarantee that we almost don’t affect any current accounts ( %99.9 instead of %95 ) and avoid high account-creation cost.
as I mentioned before: Top 20 accounts with 75GB storage counts for 35% of the state ( which is around 205GB )
Considering there are approx 20M accounts , they are like %0.0001
The main reasoning here is: we don’t actually want developers to keep less data on NFT, we want to just punish developers for excessive pre-minting ( in one case it is like 100 million pre-minted NFTs )
As you stated (2) , 95% of accounts anyway using <10KB storage anyway, where they have 100kb limit now, they will keep using 10kb anyway.
I think ideal solution is the one that makes developers to change behaviour than make regular user to take some action.