How do we prevent this from happening to other instances?
We don't, and we can't. What we need is to stop acting like Actors/People/Groups are single points homed on a single instance. They should be a ring of mirrored instance entities, so the "source" Actor and content are still there when one instance drops out of the ring. Everything is already getting copied around, we're just missing out on the biggest value of that: RAID for identities.
Ie, if I make my accounts on three sites, those should all be me, and it doesn't matter to the fediverse which one I use at any given moment. Same for communities.
That's real federation, not this ramshackle heap of points of failure where we just hope we don't individually get bit too often by shutdowns, even though shutdowns are completely inevitable.
The app requires an existing login to use, right? I tried the app since the website's email/password registration screen just returns "An unexpected error occurred" every time I try it, but didn't see a new registration option for the app, just the login option.