`fetch`/`gclient sync` will already download git repos in parallel once you've downloaded chromium/src (and we gate the parallelism on the number of cores in your machine) so I don't think there's much you'll be able to improve there. You could plumb through the concept of a `-j`/`--jobs` flag, but I don't know that it would really be helpful. Normally we have to (a) wait for chromium/src to complete so we can read //DEPS to figure out what else we need, and (b) you can't actually move the subrepos into their ultimate locations until after chromium/src has finished being initialized. So, that might not be a lot of bang for your buck.
`gclient hooks`, on the other hand, are run sequentially. There definitely is an opportunity to do more with this, but it's not simple. Some hooks rely on other hooks having run already, and so you'd either have to work out some manual schedule for doing things, which would probably be fragile, or you'd have to work out how to actually specify the dependencies, so we could topologically sort the tasks and run them in parallel as well as we could.
If you wanted to work on doing the latter, that is something that would probably be quite helpful.
-- Dirk