What is the best place to update Wordpress user on Contact change
I believe you are looking for something like this: 

CiviCRM WordPress Profile Sync


  The CiviCRM WordPress Profile Sync plugin keeps the "First Name", "Last Name", "Email Address" and "Website" fields of a WordPress (and BuddyPress) user profile in sync with the corresponding fields of a CiviCRM contact. The synchronisation takes place regardless of whether the changes are made in WordPress, BuddyPress or CiviCRM.


I guess you could extend that plugin if you want to include CiviCRM custom fileds.

Hope that helps.