Forum Moderators: phranque
One of the best ways is not to provide an e-mail address at all; if you provide a form, you can bury the recipient address in the script. Of course, some people don't like to fill out forms and prefer to use e-mail.
Some of the other techniques include substituting unicode for the characters, putting an address in an image (unlinked), and breaking an address into pieces and reassembling it with javascript. None of these is foolproof, but all will reduce the harvesting frequency.