проблема не нова и сваливание блоков в зависимости от контента, это частая прблемма каталогов.
Решений несколько у всех есть свои плюсы и минусы.
Я пользуюсь следующим.
www.mydefile.ru/catalog
Смотри между дивами
В моем случае все что потребуется это уже программист ( не верстак)
добавит условие к выводу элементов товаров.
В моем случмае это каждый 3
<div class="col-lg-12 visible-lg"></div>
и каждый второй
ну и
<div class="col-xs-12 hidden-lg"></div>
каждый 2
В результате у тебя получается принудительная отбивка элементов стандартным средством бутстрап. При этом нет даже теоретической возможности что он не отобьет, притом на каждом разрешение оно отбивается по своему.
Да остаются пустые дивы, но это не js не ajax , и не боже упроси фиксовые размеры карточки товара.
В таком раскладе как бы не вылазила карточка сколько не было бы контента покоцаются только ближайшие к нему дивы. Притом это увеличение отступа снизу у соседних двух.