I've gone ahead and changed from the register-lbmethod-as-hook to register-lbmethod-as-provider implementation. This avoids having to store them in the per-server config struct. As mentioned, this required adding a list providers function to providers.c.
Full patch is below: http://people.apache.org/~jim/lbprovider.patch