Вы можете указать ширину внутренних блоков в процентах, например, 50%. И минимальную ширину блока min-width. В Вашем случае, по половине своей длины 285px. Итого при уменьшении размеров блоков до величины меньшей или равной 285px, блок будет перемещен на вторую строку.
https://jsfiddle.net/b1jzof78/7/
И нет ничего зазорного в использовании media-запросов c flex, это нормально :-)