"there are large numbers of applications to be kept up-to-date;"
Does anyone find this? Personally I find I only need to update programs now and again. Perhaps 2 a month if I'm lucky.
"there are many files which do not belong to any single application."
Yeah, this is more of an issue. Keeping !System and Resources up to date and well stocked.
"RISC OS provides some support for merging files into the !Boot directory, but this is strictly a one-way operation with no way to remove files that are no longer needed. It also detracts from the simplicity of drag-and-drop installation. "
I can't remember the last time I wanted to remove something from !System or Resources. Does anyone find this a common problem? SysMerge, et al may detract from the drag&drop system but I'm assuming that RiscPkg isn't d&d either.
As I see it RiscPkg addresses the problem of keeping the files in !Boot updated but brings up a new problem of storing apps in a standard place.
My suggestion would be that an installer for !Boot components alone would be more approprite. Something that syncs with an online database of where to find the latest version of each component. As long as Programs' !Run files inform the user of which module, etc is missing the user can type the name into the !Boot installer and, provided the item is packaged properly, it will be downloaded and put in the correct place. The upside of this being that this system works with all existing programs and future apps need not follow any restrictive format.
This is even a system that could coexist with RiscPkg as long as it could make use of RiscPkg's package format for modules and resources.