Changing your speed will allow you to throw off the enemies lance timing but still allow you to maintain control over when you are hitting them.
Also turning away (and then back in) if you thrust early, and if you thrust late, try turning your horse into the kill (so your lance hits sooner).
You eventually get a feel for it. My pet peeve going against another lancer is them blocking. You should be ready to change from horse to the rider as your target as you are guiding the lance in. If they are not blocking, I go for the rider, if they are (or I know they are one who is likely to block) I go for the horse (and basically thrust through the horse's head and into the rider).
And what Digglez said is true. Lance cavalry shouldn't be going up against other lance cavalry. You have a 50% chance of winning, which is pretty shitty odds compared to going after melee infantry who you out-reach. You should ideally only be running interference on enemy cavalry (although even myself am guilty of engaging due to boredom or just to be adventurous). The best tactics for lance cavalry is to engage enemy infantry who is engaged with your infantry, this is your highest priority. After this, you should be trying to pick off the lone stragglers (especially the higher tiered armor players). Same with when you ride into a group of engaged enemy infantry, try to go after the pikemen, and the heaviest armored players, this is going to help your team win the round.
Also I try to help out teammates who get over-extended. If I notice a player fighting 1v2 I'll try to ride through and bump an enemy for him (or stab one of them). It's tricky as you can't expect your teammate to see you coming, or even step back if they're being circled by enemies, so be defensive, not reckless, and realize there's a good chance your horse will be hit by a friendly. I still go into these situations, but you can't get mad if your horse gets team killed when you're trying to help someone, shit happens.