You need to 'cron' a 'sync' (with a still in 'cron' check for long 'sync' > 'cron' interval) to achieve a stable-ish shutdown. Another option is a brown out capacitor circuit to keep the pi running a few seconds while it detects and saves.
Or maybe start up using a micro controller init sequence, and run it when the pi is up.
Pi[NFA]=B256R0USB CL4SD8GB Raspbian Stock.
Pi[Work]=A+256 CL4SD8GB Raspbian Stock.
My favourite constant 1.65056745028