Hi Steve,
I've pondered this question since you posted it, and tried to think of an adequate response. I'm not sure I have one. I sure don't have a one-size-fits-all answer. My experience is similar to yours. Each implementation is typically fairly unique and subject to the customer's view of what should be in DEV vs. QA vs. PROD. A lot of times, model migrations are pretty straightforward, but occasionally there's a need to migrate new aspects of a model in chunks.
As far as tools go, we've built a tool for ourselves and our clients that allows for comparison of assignments between models, or between versions & periods within a model (it also allows full model assignment reports to be generated.) It has helped for some clients, but it's not something that we use everywhere.
Mike