Я бы на вашем месте отказался от архитектуры "Одно Activity на всё приложение", и сделал всё на обычных Activity.
Проблема у вас, судя по всему, в разбиении функций приложения на слабо связанные модули. Разрисуйте и распишите ваши экраны и функции, которые принадлежат каждому из них, и подумайте, какие из функций зависят друг от друга, а какие нет.
Почитайте про принципы SOLID, которые помогут понять, как лучше разделять ответственность классов между друг другом:
https://realm.io/news/donn-felker-solid-part-1/
Отделите бизнес-логику от UI-логики и логики хранения данных с помощью архитектуры Clean:
fernandocejas.com/2014/09/03/architecting-android-...
Организуйте связь UI и бизнес-логики с помощью подхода MVP, где Model - это UseCases (они же Interactors) из Clean:
antonioleiva.com/mvp-android
Попробуйте Moxy (
https://github.com/Arello-Mobile/Moxy) в качестве библиотеки для реализации MVP, она избавит вас от написания большого количества boilerplate-кода и части проблем с переворотом экрана.