For a quick fix:
I say give it a solid xp/minute like crpg has. It can't really be abused because you set a timer on strat battles(and where it can be abused, my more complex system has a fix for that). If they could last for 4 hours, maybe it would be an issue. Just give everyone a 3x multi every minute for the duration of the battle. This also doesn't discourage smaller battles by making them less efficient for exp. Of course you still get more xp for large battles, but it's directly proportional to time spent fighting. I see this as being a "quick fix" to the problem that is much better than where we are now and doesn't really have many downsides.
The better, more complex system:
Alternatively you could make this system a bit more dynamic by having it possibly look at the the number of kills scored over the previous minute. Have say a 4K xp as your base/minute and scale it to the ratio of your teams kills:death ratio. So if you killed 2x as many as you lost you'd get 8Kxp/tic while the team with a 1:2 ratio would get 2K xp/tic. This I feel is more balanced and reward driven. Furthermore, to keep this system from being abused by small battles, have the system only look at kills that happened since the last tic of xp. Further still, set a minimum requirement of kills per total troop count: total troops*.15 or kills >=15. This makes it so that in small battles or when large battles start to slow down and a team only has 50 troops you'd only need to kill 7 troops to get the bonus. This should ensure balance for both small and large battles.
Edit: One could also reduce the penalty for having a negative K:D which might help encourage mercs to sign up for battles that seem hopeless. You could do this by either removing the penalty altogether(This might be the best idea) or K:D*((1 - K:D) +1). So if you have a 1:2 K:D for the team, instead of getting 4K XP *1/2 you get 4K XP *3/4. If you have a .8 KD you get 4K*0.96.
Edit 2: It's probably a good idea to keep the XP base multiplier based rather than some arbitrary static number. This ensures that -everyone- gets more xp than they would if they were on a battle server. Remember, gen bonus gives some people 1.5x more xp than others. So where I say "4K XP" it might be best to change that amount to whatever a 3x multi would be.
You could just have xp every minute ala the battle server.
First 10 minutes x5
Second 10 minutes x4
Third 10 minutes x3
Forth 10 minutes x2
After that x1
That way small battles still get decent xp, and long battles can get more, up to a certain point, then it drops off, to discourage people dragging it out.
Seems like the simplest way to go about it.
This system discourages large battles and siege battles. I'd have to have this system while taking a castle/town