Одна Activity и множество Fragment, best practices?
Я бы на вашем месте отказался от архитектуры "Одно 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-кода и части проблем с переворотом экрана.
Для каждого фрагмента создать свой клас.
И можешь использовать строение архитектуры - MVC (Model-View-Controller)
https://ru.m.wikipedia.org/wiki/Model-View-Controller