How about this, if the attacker is detected before he enters the system like when he is still on the star lane then the attacerk must place his units in the "entry zone" (what ever that area turns out being). Then the Defender looks at it and gets to place their forces anyware in the "Defend zone" (most of the rest of the map)
I like this. Especially when you think about the multi-player problems a completely random placement would create.
With random placement, even if it's just the outer ring, the defending player would not know where the attacking fleet is because they very probably would start outside sensor range (I assume the game will have a fog of war...) whereas the attacker would very much know where the planets are. Result: attacker can send his long range weapons towards the right place while defender can't tell which way to send his missiles. This is a big problem in multiplayer MOO3. If the battle map contained the entire system this problem would be even more severe.
Expanding on the entry point idea: How about making the star lane end points be real fixed locations on the battle map? E.g. if a system had 3 star lanes leaving it there would be 3 marked locations on the map somewhere in the outer rim. Sort of like the Anderson points in Pournelle's Dominion books.
This would have a huge strategical impact on the battles.
The obvious place to station your system ships would then be near the star lane exits, or if your sensors detected them coming you could move your entire fleet to the right place waiting for the invasion fleet. This would move the advantage back to the defending player which IMO is just where it ought to be.
As a side thought if the star lane exits are fixed locations on the map then the rule could also be that your ships have to actually move to an entry point before they can retreat back to hyperspace if things go sour...