Different forms depending on user roles
You say you want to change 'Edit Contact' - but if you mean, you want a way for a logged in user to be able to be directed 'somewhere' to update their details, then here is one non-coding solution suitable for just a couple of different roles that i hope others can improve on. (The more I wrote this out the more convoluted it seemed

Ingredients:
- one webform using webform_civicrm module per role
- one View with displays set for each role

Recipe:
Set the webforms up so cid1 is the logged in user, and provide the fields you want depending on the role for each webform.
With the view make a block per role or use some php sauce so that the link that it provides varies per role. Stack the block(s) to show on /user perhaps.
Set the link in the block to send the user to the webform that is relevant to their role.