I have found that too many people today have the seat back too upright, causing the headrest to be uncomfortable. I can't believe the number of people I see on the roads that are sitting too close to the wheel or they have the seat back straight up, or both.
I took a road course years ago and they discussed the proper seat placement. You should have your knees slightly bent, with the back of your legs fully in contact with the bottom seat cushion. The back of the seat should be set in a way that both shoulders are touching the seat back, the head rest is about an inch behind that, and when reaching for the steering wheel, the bend of your wrist should be on the wheel with arms fully extended (both shoulders still flat on the seat back). This allows the arms to be slightly bent when you grab the steering wheel and puts you far enough away from an airbag being deployed. This is the proper driving position.
Now, if that still doesn't work, remove the headrest, take it down to it's frame, place on the ground or in a vice and use a hammer or mallet to remove some of the bend in the posts. I had to do this to the back seat head rests as the seat doesn't recline, like the front, and back seat passengers commented on the headrest leaning forward. I adjust all posts equally and the back seats are now comfortable for my passengers.