Once SERVER-32608 goes in, databases (in FCV >= 4.0) will be created with a databaseVersion (note the new 'version' field):
{ _id: "db1", primary: "shard0000", partitioned: false, version: { uuid: UUID("754e23e3-0c42-485f-83fe-d3ea12fe874c"), lastMod: 1 } }
The routing table caches on mongos and shards should be made to cache this databaseVersion, so that it can be included in the future on outgoing requests targeted by primary shard.