dynamic DNS exists. There's no reason why the host behind a MX entry can't be a dynamically updated address. MX records are names, not addresses.
Now, granted, there are probably some systems that have issues with this, and maybe I do have failed deliveries I didn't notice, but you did say no email will deliver at all.