1) For "Password Reset", I think your design should anticipate multiple types of authetnication...
For Credential Management, we are working on a web application for this that handles U2F credential management.
[Cred Manager](https://github.com/GluuFederation/cred-mgr)
Is an application we're working on... you can see the [balsamiq mockup](https://github.com/GluuFederation/cred-mgr/blob/master/doc/mockup/cred_mgt.png)
This is not done, and is waiting on some updates for oxAuth to send the "Authentication Level" as an 'arm' value, and to publish a mapping of amr:acr in the OpenID Connect discovery endpoint.
2) In terms of user management, if you want to write your IDM... I think you're right about calling the SCIM endpoints. Remember, you can use LDAP too!
3) There is an open source IDM tool called [Evolveum Midpoint](https://evolveum.com/midpoint/) which has most of these features + governance functionality. There are also commercial solutions like [Sailpoint](http://sailpoint.com)