Каким способом лучше всего менять html код?
Если макет не слишком сложный, то можно обойтись и медиа запросами.

Например вот так:

snippet

Плюс минус немного JS для смены класса и прочее, но в основном всю работу выполняет CSS.
на пхп проверяй устройства и подгружай нужный тебе файл