When the ball is hit, get a good jump. A good jump depends on your reaction time, which can improve through repetition. Watch the ball all the way to the plate; both the location of the pitch and your knowledge of a particular hitter helps you anticipate where the ball may go and give you a chance for a better jump.
It's difficult if not impossible to get a good jump without good footwork.
When the ball is hit to your side, your first move will be a crossover step.
When the ball is hit over your head to the side your first step will be a drop step, followed by a crossover.
If you overrun the ball you can stop and take an inside step back to the direction you came from. You should face the ball as you change directions.
When the ball is hit directly over your head, you first step will be a deep drop step with your throwing hand side.
The reason to drop with your throwing hand is if you need to switch sides as your running back on the ball it's much easier to switch from your throwing hand side to your glove hand side and make the catch then the other way around.
One of the most difficult fly balls to judge is the ball hit directly at you. If you don't immediately recognize whether the ball is going over your head or going to drop in front of you, freeze. The worst thing you can do is guess. Simply freeze, try to determine where the ball is and listen. The other outfielder may be able to see the trajectory better than you and yell at you to go in or go back.
Once you have determined approximately where the ball is going to land, start running hard to that spot. This will give you time to make adjustments if you misjudged the ball. If you coast toward the ball and you find out the ball is going to land farther away than anticipated, you may not have time to get to that spot.
If you run on your heels toward a fly ball, you will notice that the ball is bouncing. This often happens when you coast toward the ball. Run hard and try to keep more on the front part of your feet and the ball will stay steady in your vision.
You will dramatically improve your velocity and the time required to throw the ball if you get behind the ball as it comes down and start moving in the direction of your target as you catch the ball.