I think a lot of these types of missions should just not expire at all, but rather should be actively dismissed by the player if they are uninterested. It does not make sense that a faction would loose interest in a planet simply because no one wanted to do the mission.
If, in the future, we have entities that will compete for missions with the player then sure, a mission can disappear after it is completed for that entity (and depending on the mechanic the player may or may not know they are competing against someone else on that specific mission, so we may have to make educated guesses based on the age of the mission).
If we wanted to get even more dynamic there could be a whole hidden set of unadvertised missions that would be active for NPCs, but that the player would have to hunt down (and gaining faction rep would automatically make some of those "advertised" to the player without having to hunt them down). There could potentially be 100s of active missions available, with the player only able to see a few of them at any one time (unless they put in the effort to track down more). And the missions the player could not see would not be useless baggage, but could be the basis for finding intel for raiding convoys and such.
I know a lot of the groundwork seems to be in place for such a dynamic environment (what with com link hacking, existing faction convoys and such) but it definitely seems incomplete at the moment (insert "duh." here)