Disagree. I can't think of a better way. How would you do it?
I would tie the guy commanding the fleet TO the fleet, say 25 mile range.
This way the guy wanting to command the fleet would take an interest in the fleet and "drive" it. Too many times someone high rank takes control of the fleet and then is off on the other side of the map when its getting attacked and it gets sunk. There was one guy, a brit I think, "Lynx" maybe? He could drive a CV. I remember one night he had control and for more than an hour or two he zigged and zagged those ships and straitening them up and calling out on range "Launch! Launch! Launch!" so the newbies could roll with out crashing. Talk about a fun night.
I also think that you should have a selection box in the command window to type/select the target field and while the "commander" is in charge he can hold any launches from 25 miles out to ten miles out. Closer or father away from the assigned target than that 10-25 mile range anyone can launch, but in that range a commander can sneak in closer for those 15-20 minutes it takes.
Sure there are time the ships will take hours to get into position. During those times you set the coarse and relinquish command. It gives the freedom of "many" commanders to choose the coarse, and only locking it in IF a commander is going to stay with in that 25 mile range. This would also stop some high ranking player from deciding the best action to save a CV is to hide it some place way away from any action.