Also, what faction has some decent cavalry? Ravenstern's squires and squire-at-arms died pathetically for me when I used them in battle.
Ravenstern and Sarleon, mostly. The D'Shar have good cav too, but I found them extremely hard to level up. And the Fierdsvain have their sword maidens/valkyries, who are fast, but not so tough. So go with Ravenstern or Sarleon. Oh and, rescue peasants from various bandit parties, so you can train Pendor units up. Among them are good Knights, Foot Knights (they're the only ones to have that) and also good archers. The only thing they lack is mounted archers, perhaps, and also
battle walkers.
If you have trouble levelling up your cav, then indeed you need better tactics. A classic is to use a line of infantry/archers (medium-tier) to weaken and tie the enemy down ; meanwhile, order your cav to follow you, and once the enemy has engaged your footies, charge at 'em from flank or back. The AI is especially stupid when it comes to attack from the back, it tends to completely ignore the guy who came last (granted, turning to face him would be stupid too, so I guess an attack from the back does mean you're screwed either way).
Also, to avoid having to fight hard-ass battles to level up your guys : USE TRAINING. You can get knights fast enough with only few, quite easy battles, if you have enough training powerhouses. Really, this skill is a must.
My archer/infantry combo isn't working too well, either I don't have enough archers to shoot down the cavalry before they get to my troops or I'm doing something wrong.
There's a way around that too. That combo does work but its main weakness is, as you point out, cavalry (which goes on to show how cavalry is awesome). But, what you need to do is exploit the AI's stupidity. Form up your line of troops, then, with a horse (preferrably a fast one), go ahead, charge and meet the enemy cav. Of course, it's better if you can strike/shoot them down, but if you cannot it doesn't matter : the point is to get them to follow you, which for the majority of them they will. Then run around in circles, not too close from your footies but at a shooting distance, and watch the enemy cav get shot at while they stupidly try to catch you.
But really, the only sure way around enemy cav is you (on horse), and cav of your own.
What do I do though when I want to go siege something? Unmounted these guys won't be as useful as dedicated infantry units. And are archers or infantry better for sieges? I'd like to say archers for some reason, but at the same time I'd imagine they'd have trouble hitting the enemy up on those walls.
Unmounted cav is not necessarily weak. Knights, even on foot, tend to pwn (less than on horse of course). The main drawback is not their usefulness per se, it is their usefulness-to-price ratio : in sieges, you are paying for cav units (which are 1,5x more expensive IIRC) but they act as foot units. That aside, heavy cav dudes will certainly not be weak in sieges.
And archers : are useful, especially in the beginning to quiet down enemy missile. Then they tend to get a bit useless once you set foot on the walls. You can still use them to shoot at the dudes below, of course... But once the melee is met, in the cramped conditions of a castle's walls, archers really aren't at their best. Though they can still shoot the dudes getting in line to hack at you, I suppose.
Anyway, it's best to take archers that are also able fighters. I, for one, never used archers in sieges until I got Noldor ones (which are the onluy footies I bother taking with me). It can make your work quite hard at the beginning. On the other hand, if you stock up on heavy hard-hitting dudes, you will also mow down a fair number of enemies.
If you want to have archers and still retain an all-cavalry capacity, use mounted archers, like D'Shar people, or the Ravenstern Ranger (which are very good, but high tier, and thus pricy).