Planned/unplanned host shutdown/reboot?

Have had to reimage and start fresh a few times due to filesystem corruption in the cases of both planned and unplanned outages where the system has rebooted or shutdown without first stopping brewblox services.

Is there a best-practice recommended process for making sure all of the Brewblox services are down safely during OS reboot/shutdown? Manually using brewblox-ctl is not always an option.

The docker service should take care of this, yes?

If you shutdown or reboot the system by command, the docker daemon will stop services by sending them a signal and waiting for them to exit.

If the Pi power supply is interrupted, there’s very little the OS or docker can do. The best solution for this is to have a temporary power failsafe that can keep the pi powered long enough for it to shut down normally. For example: Protecting your Raspberry Pi from power failure - Raspberry Pi UPS

Note that file system corruption is most likely due to sudden power loss. Never just unplug. Always run sudo shutdown -h now. The -h is for halt after shutdown.
If power loss beyond your control is common, a UPS that powers the pi long enough to shut down properly is a good idea, like bob already suggested.