I dont think you can easily mirror without user consent. Users should own their own data. But if users are ok with that, mirroring can be a useful tool, imho.
There's no magic fix, the relay network is in bad shape due to, neglect, and lack of investment. A change in mindset, e.g. from opensats could move the needle back in the right direction. No quick fix there.
Nukenings are bad for nostr, but they will happen from time to time. I hope it happens when nostr is mature, rather than when it's a baby.
Caching is important, that will take some of the load of the relays. Nostr needs a scaling architecture, like the web has, but none are on the horizon, yet. And could it even get through the NIPs, probably not. So, more to be done. First thing is to establish that work is needed, which I think Peter Todd for pointing out.