But the host will never know better than the routing system because it is operating on aggregated information.
What the host might know better than the routing system is that the last N packets sent using a given source and destination didn't result in packets being returned from the peer, thus something might be broken.
Thus for the host to tell the routing system "please try sending this packet
over a different path than the default one" might be useful. But that is quite
different than having the routing system blindly honor the source address
for routing lookups.