Rather than rushing with the crowds to Fantasyland, you may consider turning left off Main Street USA and heading to Adventureland. We have done this with our son when he was 2, 4 and 5, and it worked well. We hit the Swiss Family Treehouse, Aladin’s magic carpet ride, and the Jungle Cruise (he also likes the Pirates ride). From there we stroll to Frontierland, where we done the Country Bear Jamboree and let him run around Tom Sawyer’s Island (he loves that place and will spend 90 minutes there).
Now, here's where it gets tricky. With small children, we’re all trying to avoid the dreaded meltdown. If it's close to noon, we’ll take the train from Frontierland back to the front entrance and take Disney transportation back to our resort for lunch and nap. Even if our son isn't physically tired, his noodle is baked from excitement, so a trip to the resort pool and rest is good for everyone.
Recharged, we head back to MK around 5PM and take the train to Fantasyland to do all the fun items there. Usually by the time we are done, we are ready for the nighttime shows and fireworks, and then head back to the resort.
We never rush our trips, and we let our son go at his own pace, so we may be slower than other families. We do tend to miss a few rides because of our laid back style, but in four trips to WDW with our son, we've never had to deal with the meltdown at any of the parks.