Another avenue to explore would be to make it easier to share a nix store between local machines, right now it takes a decent amount of work for the end user to setup their machines as binary caches. It also comes with some weird gotchas so the experience is not very smooth. Fixing those problems has the potential to save bandwidth from the server and provide a better user experience for bandwidth constrained users, and is probably much more tractable than the optimizations listed above.
From an eco standpoint that would probably be only a modest win, if any, but it would be very appreciated by users with bandwidth constraints.
Without more concrete bandwidth and compute data on the current infrastructure though, everybody here is just guessing.