Как лучше генерировать и выводить контент страницы?
Никакой - используйте шаблонизатор.
Желательно использовать минимум операций вывода (echo). Первый вариант плохочитаемый (мое личное мнение). Поэтому 3 вариант (точно не второй).