What happens if an alliance is created that would create an illegal battle?
Apparently there are not yet any errata to clarify this issue, but a couple of house rule options leap to mind:


Your house rule seems like a good one. Since it must follow a Sol Offensive, re-moving the Sol units (i.e. changing the move that had just been made) seems to result in the fewest extra changes to the game
You could disallow alliances between players that occupy the same space. This might be a little harsh, but it's by far the easiest to enforce, and since the Sol player was attacking anyway, they won't be too often worried about being refused this option!
The suggestion I'd be tempted to make if it came up in a game I was playing (which it hasn't) is that the alliance is allowed, on the requirement that the pieces don't still occupy the same space during the battle phase (i.e. one of the players must move during their movement). You could require that agreeing this is a requirement of forming an alliance. If neither player moves, then the alliance is void because offensive troops were not removed from an ally's area (which works thematically too). Since players only get one move, forming this alliance would cost one of them a fair part of their turn, which might be too high a cost to form the alliance, but as long as the parties are aware of this I don't think this is a problem.