I just had a thought. This might already be possible and I’m stupid.

In single nozzle multicolor 3d prints (as in the Prusa MM upgrade), why wouldn’t you use the infill as a place to change colors?
Of course in smaller prints, you might need an added waste tower because the infill wouldn’t be enough, and when using transparent filaments this shouldn’t be used, but I’d assume this would decrease filament waste.

This could work (on a given layer with multiple colors in it) by printing color A perimeters first, then while switching from color A to color B print the infill, and if it hasn’t purged enough print a purge tower, and then print color B perimeters.