I know this idea came up before, but I want to throw it out again.
Why don't we move to a set attack time from the AI per shard, rather then how long it takes to get home.
Leave the speed alone, as you don't want wall time wasted just to get the shard in, but rather then stop the second you get home. You stop when the shard is home and the timer(based on each shard) has run out.
Think of it basically as the AI decides to send X units after a shard, but it takes time to get out, but it will always send some units after the shard if you don't return it home until it gets home.
Basically, as I am seeing this, it would go strong wave( stronger then we have now due to the fact that they would not all be the same strength), strong wave, medium wave, medium wave, weak waves until the timer has run out and the shard is home.
It certainly would be a bit of change, but I think it might work better and feel a bit more realistic. The AI is not going to throw everything it going to send in a wave at a shard every 15 or whatever seconds until it gets home. It going to send a large wave, then smaller waves as the rest of the assigned ships get there, until it just sends token forces at the shards if they are in the open.