Sorry for HTML.
I don't know or much care about rsync, but certainly, if an application is to be a *backup* application it should reinstate hard links. Two hard links to a file are semantically not the same as two copies of the file, so if you back the things up (and presumably restore them) separately you may break stuff. You should back up a single copy (plus its hard links) and restore likewise (one file, multiple names).
To do this I imagine you would use the inode number of the file (or similar concept in other filesystems, e.g NTFS file id); if you're backing up an inode you've already backed up then you know you just need a hard link, not a full copy.