I've added a feature to ghc-pkg unregister (https://ghc.haskell.org/trac/ghc/ticket/12637) that allows you to ghc-pkg unregister pkg1 pkg2 pkg3.
This can make stack's auto-unregistering much faster, especially when going through docker (where each ghc-pkg command takes up to a few seconds; on large programs this can take very long as a result).
It'll be available with GHC 8.2.1.