Let large client deployments use a local directory cache
One of the things that concerns me about large tor client farms is that they download a ~1.5MB consensus per client per hour.
This is a particular concern with large deployments of bridges, hidden services (particularly with OnionBalance and/or single onion services), and Tor2web.
One way to work around this issue is to set up a number of local Tor directory caches (unadvertised relays) on the machines hosting the Tor client instances. Then the clients can be told to use these directory caches to retrieve their directory documents.
Ideally, each client should be configured with a few caches in the same data center, just in case one goes down.
It would really help to have a client option for this in Tor, but there is a tradeoff - compromise that relay, and you own all the clients.
For Tor2web and Single Onion Services, this almost works already using EntryNodes, but we disable EntryGuards in order to turn off path bias detection. Also, Single Onion Services use 3-hop paths for HSDir posts, and we want Tor2web to use 3-hop paths for HSDir fetches to avoid denial of service (#20104 (moved)).