This question came up on the 6/12/2015 dev live stream. I wanted to give some feedback since it was not clear how this worked.
If I attack a hex that has a stack of ships/fleets on the galaxy map, it seems to automatically attack the strongest ship/fleet in that stack. There is no way to attack a weaker ship/fleet if I want to. Cycling through the enemy fleets and placing another on the top of the stack does not effect this. The only option I have is to attack the strongest ship/fleet.
The AI on the other hand can attack whatever ship/fleet it wants in a stack. This has frequently happened to me where I have a fleet on transports and a fleet of capital ships in the same hex, and the AI just comes in and wipes out my transports with a tiny fighter.
IMO, this needs to be fixed. Either everyone can select which ship/fleet in a stack it wants to attack, or the AI should have this ability taken away. Probably the easiest thing to do is to allow a player who attacks a stacked hex to automatically attack whichever fleet is showing on the game map. (ie you can click on the stack until the fleet/ship you want to attack is on top of the stack.) This way the AI programming does not have to be changed with how it already works.
And before you say just put the transports in a fleet with other ships to protect it, this will not work well. If the enemy fleet is 6 attack ships, and I have 6 defense ships of roughly equivalent strength, and 6 transports, I am not going to split the defense ships between 2 fleets.
The issue I see is that the AI can select which ship/fleet it wants to attack and the players cannot.