Aus meinen Erfahrungen scheint die browsereigene "Bookmark"-Funktion sehr zuverlässig zu sein. Warum also irgendwas anderes benutzen? Wenn ein Besucher ein Lesezeichen setzen möchte, dann bekommt er das auch ohne Button auf der Homepage gut hin.
Wenn's doch unbedingt sein muss, ist JavaScript allerdings der sicherste Weg. Wobei auch das bei jedem Browser anders funktioniert - wenn überhaupt.