If you've got a bunch of ships just "stacked" in a square (and not setup as a real fleet), the targetted defending ships get picked at random.
So, if you've got 9 constructors and 1 guard with weapons stacked in 1 square, that's 10 possible targets for the attacker to hit. That gives a 10% chance of the first target being that guard, and 90% chance of the first target being a mostly defenseless constructor. That's why it's usually a constructor that gets hit first.
Stacking in the same square does not make a group of ships a fleet. You've gotta have enough logistics to turn them into a fleet.
What you could do, is surround your stack of constructors with fighters, or at least put enough of them in the way that the enemy will not be able to reach your constructors in one turn without taking out enough fighters to make it too risky for them.
With the way the game works, if you don't have enough logistics to make an actual fleet out of the constructors and defenders, it's a bad idea to just stack them if you're sending them into harm's way.
Put your sentries and guards out ahead of the staging area, with some around the perimeter, so they have a chance to wake up and keep the "Turn" button from going green until you move them to attack.