When changing filaments, I would like to be able to uses what is now waste material simply by making he color switch before it is needed. Currently, it seems the slicer requests a color change only after printing all of the color needed in a given layer. But if it requested the color change early, it could resume printing the previous color until most of the material that remained in the hotend was used up. In most cases, there would be only a fraction of the waste (pretty much only the mixed material). And it would be more likely the waste that is left could be fully utilized by printing infill (because there would be so much less of it).
For most models, this could utilize very close to 100% of the material currently flushed and wasted for many models. Of course, there may not be the need for all of the material that remains in the hotend, and there will be some situations where the material would have to be wasted, but given the ingenious material sensor that is used with the AMS, it seems that it would be completely possible to utilize most or all of the waste in the majority of models that I print. Some colors may not actually print anything before a change to the next color is requested, because the entire amount of the material needed could come from current waste.
I could envision a variable to allow the user to decide how much material to use, and how much risk to take that it may allow mixed material to show on the surface (ie. Color Separation: High, Medium, Low).
Above I said this could be done “simply”, and I know that is not actually true. There would be some complicated calculations needed to know when to call for a material swap. But it still seems eminently doable! And with some of my prints wasting much more material than is actually being used in the object being printed, it seems it would be well worth the effort!