That should work yeah. And given that we already use that check in other places, it seems it should be perfectly safe. And as long as we only do a WARNING and not abort if the fsync fails, we should be OK if people intentionally store their backups on an fs that doesn't speak fsync (if that exists), in which case I don't really think we even need a switch to turn it off.
I'd even go so far as spitting out a warning any time we can't fsync (maybe that's what you're suggesting?)
That is pretty much what I was suggesting, yes.
Though we might want to consolidate them in for example pg_basebackup -Fp and pg_dump -Fd into something like "failed to fsync <n> files".