Perhaps a compromise would be to allow the player to (temporarily) side with whatever faction he is in better standing with.
You would then, after the battle is over, get the option to "backstab" them, so to speak, while incurring a bigger diplomacy penalty than if you'd attacked them the usual way.
This wouldn't have a terribly big effect in practice, but it'd beat having to camp alongside two fighting armies for hours on end, waiting for them to finish duking it out.