As a developer, I like to follow the rule of thumb that requests that have a persistent effect (such as changing your subscription options) should be HTTP POST rather than HTTP GET. This is in order to avoid mistakes generated by automated tools or systems which pre-fetch/cache/scan/analyze content. As such, my unsubscribe links lead to a page containing a one sentence summary of what you are about to do, and a form submit button.
This does not apply to the link passed in the SMTP header List-Unsubscribe, which needs to take direct action.