Control Access to CiviCRM functions/actions available to Contacts
The way we approach self-management is


use CiviCRM Permissioned Relationships extension
in Views set up a display using the above relationships as View Relationships so you get a list of 'my' contacts
set a Filter on Drupal user to 'is current user'
provide the user with a block which will show them 'their children' and which provides links to a webform which will populate the URL with the ID of the child and hence allow them to edit 'their' child