Output file names are not known beforehand
Could you give an example of names of input files and output files of normalize.py ?

It seems to me that your case could be similar to the one described about the dynamic output:

https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#dynamic-files

Here you would probably use it for the output of normalization and for the input of all (with a wildcard different from hdf5_file).

Disclaimer: I haven't had the opportunity to use this feature so far.