Почему нельзя использовать Masonry JS с блоками, внутри которых разное кол-во текста? Простейшая инициализация, разметка и CSS — и всё работает на раз-два, включая адаптивность. Плюс, не надо никаких хаков на CSS:
Что хотите, то и используйте. При грамотном подходе BEM помогает, при неверном — только всё усложняет. А вопрос грамотного подхода к проблеме, к сожалению, лишь отчасти зависит от используемой метологии.
Лучше методологии я не встречал за всё время. Это и радует, и печалит одновременно.
В любом случае, нужно хорошо владеть CSS, методология лишь доп. уровень поверх этого умения.
Вопрос из разряда «Устрой меня дирижёром». Профессиональный путь у каждого свой. Лучше, конечно, сразу идти в хорошую команду, хоть и на самую низкую должность.