It's been suggested that automatic officer assignment isn't ideal, with fighters getting assigned unskilled officers before larger capital ships which perhaps should get officers first.
I'm suggesting the following for auto assignment,
First, sort officers by skill level, whatever an officer is most skilled in causes him to be assigned to the largest vessel that would take advantage of that skill, if such a vessel doesn't exist which needs an officer, then his next highest skill is used instead. And so on through the officers.
I'm sure the current system already does something like this.
But my suggestion is this, once all the skilled officers have found assignments the leftovers are sorted by how high their crew training rating is, ships are then sorted into military and commercial vessels, and also by tonnage.
Then from the heaviest military ship down the officers are assigned, after military ships are crewed commercial ships are crewed next.
I didn't mention the minimum rank required though, I guess the highest rank officers should be applied to the highest rank ships first, then only when running out of ships requiring ranks over 1 would the leftovers be assigned as I suggested.