Email sent via CiviRules removes unsubscribe token from email template
The problem with the {action.optOutUrl} token is that generates a url which is linked to a send mass mailing. 

When CiviRules sends an e-mail it is not a mass mailing but an inidvidual one. Send to one specific contact at the time. 

I could understand that you want some sort of link to a profile/optout page. One way to do that is probably create a profile page and link to that page from within the e-mail you send from CiviRules. 

Did you solve the issue yourself? If so how?