I guess I don't understand the part about how files can be different sizes on different filesystems.
They can obviously use up more or less disk space on different filesystems. For instance, a FAT disk with 32KB clusters will use up a minimum of 32KB even for a 10 byte file. While NTFS will probably put the 10 bytes in the directory entry or use up a maximum of 4KB for 4KB clusters.
But I don't see why rsync would care about the unused data. It should just sync the 10 bytes accessible. I'm ignoring alternate streams here.