I'm starting to sound like a registered lobbyist for javelin troops, but nobody else has mentioned them so far.

Byzantines can produce Slav Javs in Bulgaria, and in Serbia too. These are excellent units for destroying Royal Knights who are pinned in melee, although using javelins requires practice. They even help out against larger units of knights.

Beyond that, the best unit the Byz have against enemy cavalry is their own cavalry.

If you can't make the expensive, highly teched units yet, the often-overlooked Byz Lancer is a sort of "medium cavalry" that can't handle knights alone but can certainly work well in combination with Byz infantry. They don't tire as quickly as heavy cavalry. So they can run around behind a unit that's in a melee with Byz infantry, then charge in without getting worn out first.