If what I did can help you decide...
I started with a knightish type + mage duo. First playthrough so i didn't really knew what i was doing and wanted a paladin + pyromancer type of duo. First of all, the paladin idea was a terrible one, and i suggest you go with a pure man at arms build instead if you wan't a warrior type (shield or 2 hander, that's your choice),but that's another story.
I started the game in hard so what's described below seems to work. I'm level 21 currently and about to enter the source trial or whatever it's called.
I build the mage with geo/pyro. It works really well at the start since midnight oil helps you control the map when you're in combat (blocking enemies, protecting allies, etc..) and boulder bash later on does the same + knocks down. You can also set both on fire to create a smokescreen to prevent casters to hit you from afar or just to burn the hell out of them. The surface you can cover with multiple spells is huge so most of your combat will rely on covering the map to block enemies. (hint: you can cast midnight oil before a fight and engage straight afterwards and it will remain there. I managed to get up to 3 before a fight but in this case the first one you casted dissapears after 1 or 2 rounds)
Also, the fire elemental is quite nice to have just as a punchbag for enemies, setting your oils / poisons ablaze for you, etc.. The spider from geo can also be useful for fire resistant enemies but i honestly only summoned it once or twice in my whole playthrough.
Not mentioning the huge damage / aoe you have early game. Late game is a bit meh in single target damage but the AOE & control are still amazing.
The downside is that without resistances, your melee characters will be very annoyed by the fire / oil everwyhere since it prevents them reaching enemies. But it does work if you play it smart. Even if you're trying to keep enemies in place with an oil / fire aoe, you can hit one or two with those spells, which then won't be stuck behind the aoe and still come at you, as enemies usually ignore these aoe's if they are already affected by it.
I basically kept madora (built as pure str/speed man at arms) and my main paladin near the casters and obliterated everything that came close. The paladin served as a heal/buffbot with some stuns etc. from man at arms.
I also used Jahran as a henchman, mage build, hydro+aerot, to cover all elemental magic schools. This helped alot with teleport/feathers, because you can drop enemies far away if they're too close or get them close to you / your melee if they're stuck in our behind your pyro/geo's aoe's. He also healed obviously, and could help with stuns, and rain when the whole map was covered in fire due to my main's abilities

About mid/late game, i added witchcraft to the main mage for ressurect, death punch and invulnerability because i took glass cannon and it's kinda hard to combine with pyro (when you don't get instagibbed, you end up suiciding a lot before having 100% fire resistance :D).
I went full vitality/strenght with my main knight once i had enough int to heal correctly and avoid missing most of my spells. He ended with 5 in man at arms and 3 in hydro.
And for madora... a pure strength/speed man at arms with a two hander is just amazing single target damage. She just melts through everything at this point (the game is getting very easy late game). If you want to make her even more OP, combine with aerothurge and slap some INT and with teleport & ligtning strike, you don't even have to move or charge anymore. But even without she is beast.
You can't really add witchcraft earlier, at least for those spells i mentioned, since they are lev 16-18.
I have tried all "classes" to lev 4-5 before deciding to use this combo, and geo+pyro seemed like the most fun combination.
NB: forgot to add that pyro & geo have amazing buffs. Haste + perception for pyro (also useful out of combat) and chance to hit / protection / elemental resis / poison immunity for geo.