Actually, I was thinking that you write some kind of external web application for password management, which either writes to LDAP, or uses the SCIM API's to update the password. Note if you use SCIM, you should wait for SCIM 2.0, which will be available in the next release of the Gluu Server (2.4 is coming out next week).
Your idea to write a custom authentication script to support password reset could actually work. For example, you could create a custom user attributes to store a json object with password metadata: age, hashes of old passwords, or a flag to force password reset on the next login. You could present the password reset page as an optional step 2.
If you did better validation, you wouldn't need to use the OpenDJ password policies. If this customer has any budget, Gluu may be able to take this on as an open source feature for a bounty.