As a pyro, I have no idea what to do against a soldier that rocket jumps over my head and rains rockets down from above. For some reason, aiming at very high angles or nearly straight up feels different and strange to me, and I have a hard time tracking and seeing the rockets being fired from above, let alone reflecting them back or hitting the soldier with it. Escaping is nearly impossible if the soldier knows how to air-strafe and I don't happen to be near a door.
Well, you're going to have to practice aiming at high angles. There's no way around that.
Imagine your character surrounded by a sphere. Moving the mouse up and down can point you anywhere from straight down to straight up, but not past those points (think north-south latitude -- up and down just moves you north or south, to the poles). That means if a soldier jumps over you, you can't just keep moving the mouse up to track him. Moving the mouse left and right simply rotates your character (think changing longitude, while remaining at the same latitude). The key here is that the same mouse movement horizontally always moves you the same number of degrees, so if you're pointing up at a high angle, a large mouse movement to rotate, say, 120 degrees, doesn't move your cursor/aim very far in an absolute sense.
I would guess that is what is tripping you up with high angle aiming -- mouse movements translate to character rotation, not cursor going left/right from where it currently is. At low angles these seem to be mostly the same, so it isn't very noticeable.
I would start with just trying to defend yourself while he jumps. A soldier can't keep rocket jumping forever -- not only does every jump eat health, but it eats ammo and he will have to stop and reload. If he jumps and fires two shots at you, he can either jump again (away) or he can shoot at you from the ground, which you should be able to deal with. Don't worry about trying to hit him with reflected rockets until you are able to reliably defend yourself.
If you happen to be using the reserve shooter and you know he's low (that is, he took some hits before his jump), you may be able to take him down. I wouldn't recommend this tactic unless you already use that gun and finishing him off is worth eating a rocket.
Pyro is largely a short range class, so catching/killing a jumping soldier will be rough. You have the best defense in the game against rockets, however. Really, your best bet is to shield your team from him while somebody else takes him out. The soldier is probably jumping in on your medic anyway, rather than trying to bomb you. If you have to take him 1v1, your best bet is to just deflect until you can get to a place where you can force him to fight you in close range (and on the ground).
Summary: try to practice aiming at high angles. Just try to deflect the rockets, at least for now, to protect your teammates while they work on doing damage. Don't try to kill a soldier from long range at all, and not medium range unless circumstances are absolutely in your favor (or you have no choice).
Practice instinctively airblasting when you think soldiers will fire their rockets while airborne. When soldiers rocket jump, they usually have little time to fire all of their rockets before landing.
If your timing is too short or long, adjust it. Another good way to dodge their volleys is that, if they rocket jump, a good way is to move backwards, while still maintaining line of sight with the soldier. That way, they have to self adjust to attempt to hit you, and you will have a better shot at airblasting rockets.
If soldiers are close enough to you, lighting em up (M1), airblasting (M2), then, flaring (2, M1) does the job too (fall damage usually finishes them off)(=no key bind available=).
You are trying to attack him while he is in the air. This is not recommended when dealing with a Rocket-Jumping soldier raining down rockets at you.
Focus instead on dodging his rocket barrage. Jump into the air to avoid the splash damage and use nearby obstacles as cover.
Attack him when he is at the end of his descent, blasting him with fire and an airblast. Disorient his rocket jump, and he may very well botch the next one and land somewhere very unfortunate, or fail to jump at all.
Doing an airshot with the reserve shooter is also highly recommendable, as is trying to hit him with flares (especially a Scorch Shot, if you want to throw him off his game). If you do, try to aim for him at either the peak of his jump or at the spot where he's going to land. It is much easier to hit him at these two locations.
It should also be noted that while a rocket-jumping soldier is very dangerous, you can take shelter from them in most buildings with low ceilings. Use this to your advantage and pick your battles with these soldiers.
When he's airborne, you possibly have the best chance of fighting him off (On ground, if he's a decent Soldier, you stand little chance of winning. It'll be best to cause as much long range-damage as you can and sneak away for an ambush on him later.)
However, I would advise against running WITH his line-of-sight, instead (if it is safe to do so - i.e. he has no allies coming in from behind - if he does, run, as it's unlikely you'll be able to fight them both off.) run out of his line-of-sight (behind him) as it forces them to botch their jumps just to get a shot on you.
As a Pyro, there really isn't much you can do against a decent Soldier who's gunning for you. You might kill him with the afterburn, but 9/10 you'll die first. In terms of raw power he's the direct upgrade to you.
In my experience, Soldier on Pyro fights often boil down to Hide-and-seek. If you have a decent enough Sniper on your team, try to jostle him around and draw all his attention that way the Sniper has an easy time finishing him off for you.