In one of the previous Motoko developer working groups I believe @luc-blaeser was coming up with an easy migration pattern integrated at the language level that would run on upgrade, and rollback if a trap occurred.
So I think this is being considered/worked on?
I asked him if there was a downgrade abstraction as well (allowing you to downgrade the migration if there’s a bug in new code that uses it), so not sure if they’re considering that or not.