Ended up not using redux after our previous project failing to scale development-wise (it gets harder to put feature in it). Using unstated, it freed developers from god object paradigm introduced by redux's single global connect() function.
Then we did the same, breaking apart states and putting them in the proper scope.
Also, we also removed state from inter-component operations which doesn't really need state, the ones developer usually workaround using global redux states. We replaced it with custom made event sourcing / message passing library.
Think of it as using rabbitMQ but it is running inside your javascript app.
Things get so much simpler after that. Features can be put it a lot faster. Combined with io-ts, it also support almost 100% TypeScript type checks both on compile-time and run-time.
No blank page issue ever since even without a single React ErrorBoundary and minimum unit-test.