How to use libraries with delays inside within a time critical STM32 HAL application?
You can implement an RTOS and replace the HAL_Delay for the equivalent Thread_Sleep function available.

But the library doesn't look very complicated, you can probably pick any of the options and do it in equal time. 

A secondary MCU is almost never the right answer.