..It keeps getting marked as dirty and gets mounted read-only when resuming. Eventually, it got corrupted to the point where I can no longer boot
.
May be following can be helpful :
1) Suspend and resume use facilities within your BIOS called ACPI, or Advanced Configuration and Power Interface. Linux provides an ACPI subsystem that manages the suspend and resume process. Usually problems occur when resuming, and normally the culprit is a device driver that does not recover from a powered down state. If your computer successfully performs a suspend,
2) downgrade it to kernel 3.1.4 in order to work successfully.
3) fsfreeze - suspend access to a filesystem (Linux Ext3/4, ReiserFS,
4) File System Inconsistent when Battery Runs Out During Suspend
.... Search with abv clues for more details on Arch and Slack sites.