With btrfs I would set up a regular scrubbing job to find and fix possible data errors automatically.
This only works for minor errors caused by tiny physical changes. A buggy USB drive dropping out and losing writes it claimed to have written can kill a btrfs (sometimes unfixably so) especially in a multi-device scenario.