I had this exact problem with a big baby warmblood we had in here for training. He was 5, pretty, great mover and jumper, and potentially a horse for my boss’ teenage daughter.
Unfortunately, kid really didn’t have the guts or the timing/ability to get after him when necessary, which is absolutely critical with a horse like this. The headshaking (provided there’s no physical cause, obviously) is a symptom of the lack of forward. IMO, the absolute most critical thing with any young horse, is to go forward. I spent a lot of time longlining him (and even gave him a couple of good smacks with the longe whip to let him know that forward was non-negotiable). We also brought out an older, gutsier rider to insist that forward was not optional (and yes, this means a couple of pretty impressive wallops and the potential for some bucking in protest :lol:). We couldn’t have the original kid keep on with him though, because he was starting to wise up that he could get away with it and REALLY not go forward (i.e. get a little light on the front end).
You have to know when to get aggressive with a horse like this - it’s all about timing - making the right thing easy and the wrong thing hard. If you’re feeling like you lack this timing or the ability to be aggressive, you might consider sending him out to someone who can be. It can easily escalate with these types of horses to something difficult or dangerous to fix.
Have you spent much time trail riding this horse, or just being out of the ring in general? Sometimes this can really help reintroduce forward being fun…
ETA: we tried a couple of different bits. Had the best luck with a single jointed rubber snaffle. And his teeth were checked, btw, that was the first thing we did when the headshaking started.