i think that creating a "free tier" scheme for reqs that ONLY include a specific npub that is a paid member is one element of making distributed relay data storage more practical
another is that the relays need to have garbage collection, so only specialist archivists keep everything and lower the cost of most usage (and archivists can sell that acceses to paid relay operators so they can fetch it and cache it in their GC'd data stores) - and yes, also, my GC implementation is not selective about anything except frequency of access but more advanced GC mark configuration could include things like preferring to purge non-paid member events that have also old parent nodes to be cut off before cutting out the paid relay old events, and so on
one of the things i want to do with my work on replicatr is making a "layer 2" event store that you configure with other relays that you share with, so they can distribute events horizontally to shard out storage for users
outside of that, tools that let users know what relays are best for getting everyone on their follows both their events and them seeing them would be really useful as well