This is already the case :)We have a huge number of types of profiles, which are used in a stack like fashion; user, quality_changes, quality, material, variant, definition_changes and definition.
If a user changes a setting, it's put in the user container. If the user decides to make a profile, it's moved into the quality_changes (so "update profile" actually moves settings from user into quality_changes).
For the UM3 we have quality profiles based on the material. So if someone changes the material from PLA to ABS, we switch out to another quality, but with the same type (so if it was normal pla, we switch to normal ABS). The quality_changes profile is tied to the type, so that remains in place.
It is not the case. Perhaps I didn't explain it well enough to make clear what I meant. As an example, if you change the "Material" under the tab for an extruder, as far as I can tell, it does not change settings under "Material." It does not update the printing temperature, it does not update the filament diameter, et cetera. (It is used for color, cost, et cetera, sure, but materials are more than that.) Which is why you have to re-enter all the same information for each profile that uses this material. If I have a PLA-PVA profile and a PLA-PLA (say for multi colors) profile, then I have to enter the print temps, filament diameter, et cetera for PLA three times, even though it is the same exact information. If I find I need to change the retraction by a millimeter then I have to do it in 3 places.
This is very different from pushing settings from "user" to "quality_changes" when "update profile" is pressed. That is just moving/copying a block of data from one place to another. I'm speaking of how those blocks of data are fundamentally organized.
The "huge number of profiles," as you say, is exactly the problem. If how profiles are handled was re-thought, you could cut down the number of profiles, or at a minimum, make them a lot easier to manage by reducing the amount of duplication.
I understand the how and why it got built this way, and I do appreciate the number of settings and their relationships make this difficult to design, but this problem is only going to get worse as more material types are developed, Cura features added, new print cores are developed, et cetera.
I can put together a small demonstration if you are willing to review it.