Согласен, универсалка реально упрощает жизнь, когда версии постоянно меняются. Главное — не грузить основной код всякими условными вставками, а оставить адаптацию в одном месте. Бывает, конечно, костыли вылезают, но если грамотно сгруппировать — поддержка не превращается в пытку. Такой подход позволяет не дублировать код и проще обновляться.