Alternative idea

--use find_module to locate the path for the six module--looking first for the unadorned 'six' module that would be found on sys.path, and failing that looking up 'astropy.extern.bundled.six'.  Then load that module using the load_module machinery, but giving it the new name 'astropy.extern.six'.  That makes everything 'just work' and is compatible with six's own sys.modules games.