I do not really see the need for this complexity of roles for viewing or editing users. All users can view other users public info and only administrators can edit users. This seems sufficient and natural to me.
I do have plans for a private message system within the site so that users can send messages to other users within the site without having access to their email addresses.
Best,
Joe