We've run into this exact issue. We have state in Redux, Apollo and the URL and are looking to consolidate it all somewhere. It's surprising there's no standard solution for this yet. Yours looks very interesting — did you look for any libraries which do this for you? Or do you plan to open source yours?
I keep running into issues where I update a selector which change the memory reference and causes performance issues. Have you found any good ways of avoiding that?