I believe you are looking wrong at the problem – any update which is non atomic (e.g. dd a file system image, replace files in a directory) is broken by design – if the power goes off in the middle of an update the system is a brick and for embedded system, power can go off in the middle of an upgrade.
I have written a white paper on how to correctly do upgrade/update on embedded Linux systems [1]. It was presented at OLS. You can find the paper here: https://www.kernel.org/doc/ols/2005/ols2005v1-pages-21-36.pdf
[1] Ben-Yossef, Gilad. “Building Murphy-compatible embedded Linux systems.” Linux Symposium. 2005.