It's a reasonable question. Possible different way of thinking about this:
When you have varying numbers of artifacts that are related to one another, put them in a directory together and artifact the whole directory as a single artifact (on the upload side). That way it is not dependent on any individual log, result etc. Either use scripting to collect them together post build (pre artifact) or change build scripting to ensure things all go into "one place".
If I recall correctly, you can still pull sub-paths of a given artifact in dependent pipelines rather than the "whole thing", in a way that the dependent job will fail if the artifact didn't include a given file/folder. (if I am wrong on this, this is not a great suggestion) This would allow to weaken some of the "contract" mentioned below?
-Chad