When recommending a SE site to friends or colleagues, I will always pass on the "pure" site link instead of a referral link. In my eyes, referral links always have something slightly sleazy about them, even if there is no material profit involved for the referrer.
I personally don't particularly care for the promoter badges, so I will happily continue passing on the pure links. But in general, how about having a referral field when a new user signs up? Like so:
Did an existing user of the site recommend coming here? If so, please enter their name or user ID: ______________________
The text field would trigger a drop-down identical to the search field on the "Users" page.
This way, one could promote the site without having to pass on referral links.
Obviously, this method would have a built-in ratio of lost referrals (e.g. when the user doesn't find their friend in the users list), and only users who actually bother signing up can be identified that way. But it would be a much cleaner way.
Note that this would be to complement the existing referral link functionality, not to replace it.