Вы меня простите, давно еще задавался этим вопросом и иногда возвращаюсь к нему снова.
Лучшее решение (имхо), сложилось в данном методе:
В каталоге самое важное. Это фильтр, удобная навигация по категориям и сам каталог товаров. Ну оки...
Имеется див с шириной 100% , туда загоняем 2 колонки. одна из них фиксированная (можно и не фиксированную) и вторая резиновая с отступом разным ширине первой колонки. Как вы могли уже догадаться, первая колонка имеет навигацию, фильтры и другие плюшки. Сам каталог товаров в резину пихаем. Манипуляцию удобная и изящная. При громадных экранах (4k+ / TV) можем поиграться с размерами товара, а лучше максимальную ширину для контейнера занять). Такой место удобен и для планшетов, что то поменьше прячем первую колонку... ну это уже ближе к UI.
Аминь.
p.s. Masonry не нужен, делайте удобно для клиента.
Если товар или какой то контент не помещается - это не значит стилизовать все "узкие места" (кажется Лебедев писал).