@Sugandha Sharma yeah your instincts are solid here — 128 byte blocks and aggressive retry logic is pretty much the right approach, and the fact that you've already got that discipline in place puts you ahead of most people attempting this.
The rollback mechanism is non-negotiable in my opinion. What I'd suggest is keeping a known-good firmware image in a separate flash partition and only committing the swap after the node has booted successfully and phoned home with a valid status packet. If you don't get that confirmation within a timeout window, the node rolls back automatically. Learned that pattern from a few painful edge cases where the update landed fine but the new firmware had a runtime bug that silenced the node entirely.
One other thing worth adding to your stack — a pre-update link quality check before you kick off a flash session. If RSSI is marginal at that moment, just reschedule it rather than rolling the dice. A bricked node at 30km is a very bad day.
The GitHub repo for the MultiNav Pro+ firmware is at github.com/RFOXiA/MultiNav-Pro-Long-Range-BLE-Module-Firmware-STM32WB07 if you want to dig into the STM32WB07 side of things — there's useful context in there for how the radio stack is structured that'll help you plan the OTA flow properly.