Avoid change for users profile fields
You can use the project Edit Own User Account Permission. It adds a new permission to People > Permissions called "Edit own user account". You can then allow specific roles the ability to edit their own account.