I was just going to post a similar suggestion. There should be a way to store officers that are currently unneeded, similar to ships.
Right now when you get an officer you have to either keep it forever -- thereby taking up one of your officer slots, increasing your upkeep, counting against your XP bonus, etc. -- or lose it forever. But in the same way that you might want to use different ships for different situations, you might want different officers (with different skills) for different situations as well. I don't necessarily want to give up an officer that I've invested in, but I don't necessarily need the guy around all the time either.
The code specifically looks for officers that aren't assigned to ships for the XP bonus, and I can understand not wanting the player to take advantage of this (i.e. letting officers out of ships for easy fights to artificially increase the XP bonus). But storing officers is different; it's about when you don't need the officer for the duration of the expedition, as opposed to on a fight-to-fight basis. Thus it's the same rationale as putting ships in storage. For example, if I switch my fleet over from a combat fleet to an exploration fleet, right now I have to carry around a bunch of useless officers (with them costing me upkeep) the entire way, or get rid of them thus losing them permanently. Or if I need to fight drastically different targets (for example, the fleet I need for bounties may look very different than the fleet I need versus stations, and thus different officers are also needed), I have to decide between officers which are "sort of good" at either, or specialize against one type but not against another, etc. Or if I get one of the rare level 7 officers while I'm exploring, I have to make a decision to keep it (and have it increase my upkeep etc. even if I may not need it for a long time) or get rid of it permanently. It would be better to have different types of officers on call for the different needs the player has throughout the game.
The coding infrastructure should be mostly there already as well, so it would just involve relatively minor changes. What I propose is that on the player's colonies, the player can relieve officers and leave them at the colony, whether that means no more upkeep or only a minor upkeep (like 10% of the usual amount). Code-wise, they get removed from the fleet and then become like the officers that you can hire at the comm directory, except that they don't expire. So I think this would be relatively easy to code in. This gives the player's colonies a tangible benefit (being able to store officers) beyond other faction colonies or the abandoned spacedocks, a sense that the colony is "mine", as another reason to make a colony.
(Yes, I think this also implies that if your colony destabilizes and dies, you lose the officers that you had stored there. Too bad, you let it burn instead of keeping it alive.)
As a corollary to this, if you dismiss officers that you no longer need, you should regain the SP points used on those officers (mentor, elite skills) as bonus XP. This is similar in rationale to getting the XP back from getting rid of ships with s-mods.