This means our address agility mechanisms must support packet flow where the src/dst addresses in packets in one direction don't correspond to the src/dst addresses in opposite direction.
If you need that level of address agility underneath the transport protocols
you need to modify the hosts at both ends.
Once you modify the hosts at both ends why not also provide connection rehoming?
(There seems to be a large class of connection rehoming mechanisms
that can live with source locator rewriting instead of ingress filtering,
but that's the subject of a different email.)
I agree that source based routing and relaxed filtering both work. What is tricky is the middle between the small and the large; too small a site to be able to convince the ISPs to relax ingress filtering and too large a site for source based routing to be trivial.