Yeah, I'd have trouble giving solid advice... best bet I could think of, just going by what you've said, would be heavy-in on elves and tie on a range-spec commander. If you can get ranged tactics or whatev' to 5, the elves get another pip of range and can outrange the ballistas (providing they don't have a similarly equipped commander, anyway...). First turn mass fire on the ogres, second turn snipe any ballista that advance to get into range. Alternate like that until everything's dead (hopefully on their side

). A full elf party should pretty easily take down 3-4 ogres in the first volley (I've managed that with a half-party of moderately [<10] level bowmen, and elves are notably stronger), and be able to tank some ballista hits (especially if the commander's also got defensive tactics maxed, or some +ranged def stuff. Double bonus if you're in a forest province or can bait a lot of ballistas with an elf on a forest tile). in order to murder the ogres before they get in melee range.
Ogres are one of the higher ranked critters I just wouldn't try to tank, realistically -- that active ability of theirs just does ridiculous melee damage. Sniping at range is the way to go (forest or swamp provinces would probably be ideal fighting grounds, to slow 'em up a bit.) if you can manage it.
As for the warrior, vulnerability (and possibly a shaman for curse, to double-up) and a full elf volley
should be able to either one or two round the bugger, especially if the elves have some piercing shot levels.
General point being elves are freaking hardcore lower rank ranged units. Try abusing that.