Не знаю, как по мне мидлвары это же просто способ перехватить экшн, сделать какие-то грязные сайд эффект делишки и потом вызвать какой-то другой экшон (успех, фейл или просто успех)
Если не юзать там всякие паттерны для работы с мидлварами, то писать свой (ну вот на среднем и больше проекте по любому придется мидлвары юзать)
Собственно написанные мидлвары редко могут оказаться лучше чем готовы решение, не потому что у тебя плохой рэп, а потому что либа уже покрыта тестами и уже используется один из паттернов (все равно какой, thunk, saga, observable, promise)
Кроме того например саги дают возможность тебе легко хендлить асинхронные вещи (типа если у тебя 3 раза при поиске задиспатчился экшон, то какой выполнить). Конечно можно и самому все это написать с нуля (и может это будет даже лучше для понимания), но не факт что это будет решение века...
Но опять же это все дело вкуса)