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.

From: imcc
Sent: Thu 09/03/2006 11:06
Subject: [coLinux-devel] hardlink backup

   I am currently considering backing up hardlink.In this case is it     necessary for me to backup data twice(or the no of times there are hardlinks) or is it ok if I then create a hardlink after backing only one instance of the file.

Also how does rsync treat hardlinks after backing up data.