Three suggestions for auto-assign of officers:
1) For each class, be able to set a "desired crew training bonus" (-10% to 34% range). Those above that crew training range go to the bottom of the auto-assign list when crew training is the deciding attribute. The idea here is that I want my best officers to go to the ships with a -10% bonus rather than those with a 34% bonus (where they won't do any good). At present, the order of assignment within a class seems to be alphabetical based on name - this leads to the best ships getting the best captains (a bad thing). The reason this needs to be class-specific is that cargo ships or oilers (military) ships will have a different level than warships.
As an alternative, assign captains to ships based on a reverse-training order, i.e. lowest training gets the best captain.
2) Have a "fill empty berths" checkbox that will assign an officer to an un-commanded ship, even if he has 0 crew training rating. The idea here is that I want my skill-less officers to get on the job training, where the bonus might bump up to 25. These captains should go to the ships that least need a good captain, e.g. conscript classes or those above the threshold in suggestion #1.
3) Have a "Prioritize Staff Positions" checkbox that does what it says. At present, it looks like staff positions are at the bottom of the barrel when assigning officers - I often end up with Intel officers with a 0% intel rating, while there's some other officer with a 30% rating that was assigned a ship because he had a crew rating of 25.
At present, every time I do an officer reassignment wave, I have to do a LOT of rearranging. The suggestions above would knock out a large percentage of what I'm spending my time on.
John