The problem is the SD card. I suspect you will have similar issues on the BBB. Powering down is better under Linux. There are cases where the SD card just goes bad. They basically wear out because they are SD card and not really designed for high use applications. The eMMC is more robust in this area and may solve your issue, but you need to run your tests to see. If your issue is corruption due to improper shutdown, that problem is likely to continue.
the rootfs should be mounted read only with all rw stuff moved to RAM-based partitions. Done it previously and nobody cared about how properly a device is powered