Well,
I do understand and share your frustration.
There is no standard set of modules.
Some are used more widely, some are used less widely, but there is no standard set.
Collections like synApps usually work well for the facility where they are maintained, less well for facilities with similar age, setup and requirements. They often make little sense for facilities that are fundamentally different.
These collections are also inclusive: You will compile and deploy more than you need.
There half a dozen different solutions to your problem.
In the last few years, there were multiple workshops at EPICS Collaboration meetings (2019 ff.) about build and deployment options, solutions and frameworks.
The result, if any, is that each of the developers had specific requirements that motivated their specific approach. They're all different and all justified.
The workshop materials are available on the meeting websites. Very valuable.
There once were Debian packages.
15 years ago, NSLS-2 spearheaded an effort to maintain Debian packages for many common EPICS modules. That was a lot of effort and basically lasted until the facility switched to RHEL and the resources were withdrawn.
During a few EPICS Collaboration Meetings, the issue was discussed. There was interest, but no one wanted to commit the necessary resources.
As there is no one-size-fits-all solution, every installation has to pick the approach that fits them best. Read the descriptions and motivations for the existing systems (from the EPICS meeting workshops), compare them to your list of
requirements, discuss your options and make a decision.
Last not least... As long as you're not using one of the complete solutions:
Put RELEASE.local files in the right places.
This Base mechanism allows to keep the module configuration
one level above the module directories. A single file keeps the configuration of all modules in your installation, without changes in any of the modules, consistency guaranteed. If you're editing configuration files in many modules, you're doing something
wrong.
While this is certainly not an easy solution to your problem, I hope it might help find one.