Так, вот сейчас я начинаю понимать, но так не надо делать. Родитель не должен знать заранее какие у него могут быть наследники, чё это получится тогда? Если какая-то новая активити будет наследоваться от Base, тогда и сам Base надо менять?
Верно мыслите. На счет колбэков. Я думаю их надо применять как раз таки для вызова необходимых функций при лайфцикле. Я вот например создаю абстрактный BaseListFragment, где необходимо переопределить адаптер. Так удобнее и понятнее, чем выносить все куда то