E' bruttina, ma non hai alternative se mischi php e html.
Per quanto riguarda la separazione tra php e html io intendevo usare un pattern MVC, ovvero mettere l'html senza php (o con al massimo delle variabili) dentro dei templates che poi vengano tutti caricati dalla classe VIEW del pattern. Cioè userei un sistema che ha un solo punto in cui si fa ECHO: alla fine del processamento dell'html da parte della VIEW. E soltanto lì.
Comunque, l'html non ben indentato non è più un problema, inoltre se è condensato ti permette un caricamento più veloce, non trovi?