Note that the output of each factor is passed though a preprocessing function prior to combination:
a = np.nan_to_num(a - np.nanmean(a))
It demeans, ranks, and then z-scores. So, the combined alpha is a linear combination of z-scores of ranks. It is not clear to me that then ranking the combined alpha would be the right thing to do, since the alphas have already been individually ranked and then normalized with a z-score. If the stock universe is the same for all factors, the z-score just effectively demeans the ranks, since the standard deviation in the denominator will be the same across all factors. However, if the stock universe varies by factor, then combining ranks won't work, since large-universe factors will be weighted more heavily in the combination; z-scoring fixes this problem (although as my code is written, I'm not sure that I could have variability in the stock universe across factors).
Regarding the idea of a generic long-short multi-factor template, Quantopian has a repository for this sort of thing. For example, see:
My sense is that they might welcome user-contributed content. It would make sense to architect a template is such a way that it would be compatible with more sophisticated alpha combination steps, such as machine learning (for example, see this post by Thomas Wiecki). Also, being able to combine pipeline-based alpha factors and non-pipeline derived ones (e.g. based on minute bars) should be an objective, too (apparently, this is tricky, since Pipeline only returns the most recent alpha factor values, not a trailing history).
I guess the Q crew is busy with other stuff, but a really well-engineered template would be the natural outcome of the framework provided by Jonathan Larkin, A Professional Quant Equity Workflow.