Android. Как правильно реализовать смену контента на экране?
Для Вашей задачи нет универсального и "правильного" решения, все зависит от UI и бизнес логики приложения. Для простых View, Ваше решение вполне рабочее. Единственное, можно использовать View.GONE вместо View.INVISIBLE, чтобы невидимые View не участвовали в процессе измерений контейнера. 
Если у Вас сложный UI для errorBlock, допустим это форма отправки сообщения об ошибке по email или еще что-то этом роде, то можно подумать об отдельном фрагменте для errorBlock.
А так, просто не значит плохо!
Да всё так же.
Ещё, как вариант, можно на интерфейсах всё сделать.
Хотя вариантов много может быть. Всё зависит от приложения.