i think a lot of the solutions come from bypassing the current and ongoing decades of non-routeability between any two points on the network (for which supposedly IPv6 exists) and set up small service providers that provide simply relaying of messages from domain names to ports at the ends of VPN tunnels - and thus enabling personal relays
from personal relays, you have the set of npubs of interest to one of your friends, and from other friends you draw the events that propagate to their different list of friends
this would solve much of the questions you raise , by making each user a repository of their own relevant public events