Since the most common cause of this issue is that all assets with dependencies simply reference those dependencies in their config.txt files, then the obvious solution is to force all asset uploads to include all their dependencies in full. By that I mean all the texture files, scripts, images, sounds, etc in the dependencies included in the download. And if any of those dependencies have dependencies of their own then those must always be included as well.
The big advantage of this is that when you download a route, for example, you will get the route and everything it contains exactly as it was originally created with no missing assets. If a DLS asset is updated in a DLC package and is not uploaded to the DLS then it will not be a problem as you have the original version as specified and required by your route.
Downside? None I can think of, after all who these days does not have GB/sec download speeds with unlimited downloads?