I suppose that there will be a few darts sent my way with this observation, but here goes anyway. Some of the discussion about why Callaghan was selected seems to imply that he was somehow singled out for command of the scratch force. If I understand correctly, there were three resupply convoys at Guadalcanal that morning. Callaghan had been selected to command one of those and Scott was in charge of another. The men and their flagships had been chosen only for the convoys, up to that point. When word of the looming IJN threat was received, certain ships were selected from among those already present to make up the scratch force. They were picked as much for remaining fuel and ammunition as for fighting qualities. Since the force included Callaghan and Scott's flagships, they were included in the force with their flagships. After that decision was made, the senior man had command - period. Those warships not selected for the scratch force escorted the supply ships out of the area. (They might have been useful in the coming action, but leaving the supply ships unprotected was not considered an option.)
At Midway, had Halsey been able to go, he would have been in charge. Why? Because he would have been senior. But with Spruance in command of TF-16, Fletcher was in overall command because he was senior to Spruance. Having experience from the Coral Sea was a bonus. So had Halsey been present, seniority would have won out over recent combat experience in the selection for commander. That was just the way it was.
As for Spruance at Midway, Spruance was selected at Pearl after Halsey was "grounded". He was the senior man in TF-16, but was junior to Fletcher in TF-17. Spruance was selected over men with more seniority, but was not placed in command over them.