1. Тег pre https://developer.mozilla.org/en-US/docs/Web/HTML/...
2. Свойство white-space установить в pre https://developer.mozilla.org/ru/docs/Web/CSS/whit...
3. Вполне нормально переносы расставлять с помощью br. Тег br плох для отступов между элементами.
В данном случае как раз br и является актуальным вариантом. Предрассудки по поводу его глобального неиспользования связаны лишь с непониманием его предназначения и его ложным использованием в качестве отступов.