Первый раз вижу чтобы для выравнивания используют :before. :before это псевдоэлемент, он используется только для отображения какого-либо контента перед родительским элементом.
Для выравнивания по главным осям используют flex'ы. И кто Вам сказал, что они тормозят загрузку страницы?
Float изначально предназначался для обтекания блока текстом, а находчивые разработчики запрягли его делать расстановку блоков. Но с приходом flex'ов все встало на свои места, float'ы для работы с обтеканием, flex'ы для создания гибких макетов.