I mount my ext4 data partition with journal=checksum option, which provides at least checksumming for the journal.
As a long time Btrfs user, I cannot confirm that. Btrfs has been rock stable here, surviving multiple power drops.
This can possibly be tweaked with the right options to be set with mkfs.btrfs.
Space can also be freed by running
btrfs balance (see btrfs wiki for more info), I run it 3 or 4 times a year.
As for NILFS2, I’ve never tried it, but isn’t it mostly optimised for UFS devices (like smartphones), like YaFFS?
I tried F2FS on a USB stick, couldn’t see any big advantage over ext4. USB 2 is slow regardless of the filesystem