I sort of agree with you.
But assigning multiple temporary way points to a ship/fleet would be inefficient both in processing (CPU cycles) and storage (memory allocation, memory trashing). It would result in a 1->n storage relation (where n is the number of temporary way points you set) for every ship/fleet. At the moment it appears as the "go to" internal infrastructure between a ship/fleet and a destination is 1->0..1 (storage-wise 1->1).
A far better solution would be the ability to set a 'go to next' on a way point. This would result in a 1->0..1 relation (storage-wise 1->1) on the way points (of which there are far less than there are ships in the game).
Currently the ships/fleets behave as (pseudo code):
if (ship arrives at specified destination) then { put ship into idle mode }.
If a 'go to next' facility would exist on a way point then the new behaviour is just minor alteration of the (pseudo) code:
if (ship arrives at specified destination) then { if (waypoint has 'go to next') then {set ship destination to 'go to next'} else {put the ship in idle mode} }
And it could integrate very well with the 'Commands' infrastructure. "For all way points with a 'go to next' of 'way point 3266', set the 'go to next' to 'way point 3370'". And it allows you to move way points that are part of the chain and all ships/fleet using the chain will use the new route.
While if you would implement it as multiple temporary way points attached to a ship/fleet the above mentioned two points would be meaningless, because every way point chain would be unique, even when you would give the same route order to multiple ships/fleets.
To facilitate your Ctrl click method the game could simply generate a chain of way points with interconnecting 'go to next' settings and set the destination of the current selected ship to the first way point generated. This means that other ships/fleets can use the same way point chain, but it also mean that the player should remove the way points when they are not needed anymore. The last could be eased (for the player, definitely not for the programmer) by implementing a delete way point chain command for way points that have a defined 'go to next'. And a check on delete for whether the deleted way point was part of a chain must be implemented. But these implements are far easier than the (internal) management of temporary way points attached to ship - which order might be cancel, or which might be destroyed in battle / decommissioned).
Furthermore we might as well ask for other implementations on top of 'go to next', something like on arrival: 'merge with fleet', 'switch to guard mode', etc. These things were in GalCiv2, and were commonly used by players, therefor i have good hope that they might be re-implemented in GalCiv3. Looks in the direction of mormegil.