Как в Laravel уменьшить изображения «налету»?
Voyager я не использовал, может там есть какие-то особенности. Но судя по вашему хелперу. Вам всё же надо  до конца разобраться с intervention.  Создать фильтр ProductThumbFilter image.intervention.io/use/filters. 
Добавить его в config/imagecache.php:'templates' => array(
        'productthumb' => 'App\ImageFilters\ProductThumbFilter',
И уже в шаблоне или в хелпере получать урл картинки:
route('imagecache', ['template' => 'productthumb', 'filename' => $product->image ])
Все thumbnails, отсутствующие для изображения, будут генерироваться на лету и сохраняться в кеш.
Очередь и задачи тебе в помощь
При загрузке большого изображения пережатие (и ресайз) будут идти в фоне и "докидываться" по ходу готовности к тому продукту который у тебя есть. Пережимать на лету не нужно. Храни готовые изображения. Экономь ресурсы сервера