@sandrb был случай, когда новый функционал делал как бы сбоку. рефакторил только то, что переписывал для нового функционала (например дублировал какой-то запрос в сеть, и выпиливал на старых экранах)
Где получалось выделял логику в презенторы и т.д. со старых экранов. Где не получалось (сильно запутано) рядом переписывал экран)
Если нужны были какие-то старые компоненыт, то старался выделить их и инжектить через dagger, и на старых экранах тоже.
Однако при таком подходе болью обычно было навигация. (сам обычно использую одну активити и много фрагметнов)