Updating Contact Email from User Email Update
It seems like a Salesforce bug to me. In order to fully resolve this, the best we can do is probably to vote on this idea: https://success.salesforce.com/ideaView?id=08730000000kyTtAAI
Meanwhile, to walkaround this, you have two possible solutions:
1, The most correct, but might be painful solution. Fire a scheduled job in the user trigger. Check for every several minutes to see whether the email has been changed. If so, update the related contact.
2, If you don't mind updating the contact email right away without waiting for user confirmation, you can write a VF page and capture the new email address and update contact info there. Not very accurate solution though.