I've only used drop-in battles a few times myself, admittedly. It took too long to find an opponent, and a few of the opponents trolled me somewhat.
Now, we all know that while CA will improve the AI a bit, it can never live up to what everyone truly wants - that's just too hard. So drop-in battles have to be improved. But they could add more than just a better opponent to the game.
1) Have a separate online ranking system for drop-in battlers. Then, correspond the skill/level of the general you're facing in your campaign with the skill/level of the drop-in player. So if you're playing a hardened enemy general, you get an experienced, high-level drop-in opponent. If you're playing some fresh-faced guy with no experience, you similarly get someone new to online play.
2) Encourage more players to play drop-in battles by making them more rewarding. You could use drop-in battles rather than capturing regions on the campaign map to unlock things for online play. Maybe if you play 500 drop-in games or something like that, you could get a free DLC pack. Basically, we need more players doing drop-in battles, so they have to have incentives.
3) Maybe you'd have less people doing this, but you could designate your game as "role-play", and drop-in players can choose to join or not join depending on whether they want to play along. Basically, this would entail both you and your opponent acting as you feel your factions/units would in the particular situation on the battlemap. There might be a short description to enlighten the drop-in player before the battle. So if he's commanding a very small group of ragged Gauls, hounded by a far superior Roman army, he might go for a heroic, suicidal charge and let the men die gloriously.
Your thoughts?