I always start by prepping my rig for the action required for that particular shot. Workout what actions you'll be doing, and set the rig up in your favor.
As a generally rule, if the limb maintains contact with something I have it in IK, if it doesn't I use FK. For something like a walk cycle, I have the legs in IK, and the arms in FK.
IK vs. FK Spine:
If the limbs attached to the control are contacting the ground, I want IK so I can move the body section independent of the other body parts. For example Quadrupeds, or a biped down on all fours. On the other hand if it's an upper body with arms that don't contact the ground I prefer FK. But this is probably open to preference.
For any control, you want to have the axis you use the most listed last, and the axis you use the least listed first. For example: I like the main mover to have a ZXY orientation. This allows me to point the character in any direction Y (yaw) and still be able to Pitch in X, or Tilt in Z correctly. If it's a wrist, I like YZX. Based on the function of the wrist. The wrist can twist (Z) more than it can Pitch (X). The side to side Yaw (Y) is pretty limited so I give that the lowest priority. You can also look at it in a scene specific way. If your character is going to perform a specific action, set the rotation orders up to best accomidate that.
I like to keep my FK limbs, head and neck in World Space. It's a little more work to block out the shot, but it saves you a lot of counter animation once you start refining. That way tweaks to your body/torso don't ruin your head and arm poses relative to your camera. Another option for the head is using a Look At control. Mainly you want full control of the head, independent of the rotations of the body. It will help avoid jittering and it will be a lot easier to create smooth arcs.
Before I start animating I organize my controls in to display layers. I put the controls I'll never use in an controls_UnUsed layer. Then I'll put any controls that I won't use for blocking in a controls_secondary layer. My trick is to put the shape of the layer in the display layer. This will prevent affecting everything in the hierarchy. Cleaning all these extraneous controls out of the viewport will make the Blocking process a lot more streamlined, and you won't be constantly selecting the wrong control. Some rigs will allow you to display or hide controls using display attributes. I even use display layers for my final clean up, creating a controls_finished layer. This allows me to do a visual check to see what controls I've polished and what one's need to be.
I also use display layers to hide anything that is irrelevant to my animation. I'll make simplified versions of the set for areas I interact with. Like a ground plane for steps. If there are multiple characters I'll create a display layer for each of their geo so I can display or hide them on a character by character basis. This helps speed up playblasts and interaction with the shot as well as keeping me focused on what's important.
Make sure the scene is set to the correct frame rate ( 24fps vs 30fps, etc ). Make sure your frame range is set to the correct length, including handles.
Identify which camera will be the render camera. Make sure the resolution is set correctly. Apply some level of a film gate so you can see the proper framing.
# Create the poses that tell the story and emphasize the main action ( hit all the extremes), hit all the main emotional facial poses. You should be able to watch these poses play, and get the purpose of the shot.
# switch back and forth from splined & stepped to test out the timing, slide these keys around till it works
# if it's not reading, then you need more poses
# Pose any Extremes of action
# Define what is leading or following, begin to breakup the major shapes
# Take this initial pose and shape it in to something that will create an interesting transition between the golden poses. The more energetic the action the wilder of a change you can make.
# Adjust the breakdowns to build in arcs between the Golden Poses
# Switch back and forth from splined & stepped to test out the timing, slide these keys around till it works
# Add poses for Holds and Overshoots. Here are four options to consider:
-ease in to the pose ( as if slowed by muscle)
-overshoot then settle in to the pose (another natural option)
-stop dead ( as if stuck in mud)
-bounce out of a pose ( as if contacting something solid )
# Don't overlap too much or it will look mushy/soft/swimmy
# Don't overlap too little or it will look sticky
# Make sure the motions aren't too Fast/Poppy/Strobey
# Matchup the scale of your anticipation to the timing of the following action
# Larger actions might require multiple overshoots as they settle.
# At this point offsetting some keys will help to define what is leading what, and reduce any twinning in the timing
# You should have enough keys to switch over to splined by now.That will help determine if the timing is working. If it's too chaotic switch back and forth between Stepped and Splined.
# Emphasize opposing actions and successive breaking of joints.
# Setup an opposite action as an anticipation to help the larger gestures pop more
# Use a script like Autotangent or Animbot to clean up the tangents ( as a starting point )
# Round out the arcs between the current poses with more in-betweens. Start keying body parts, vs. keying all controls at this point.
-Tail (keep it doing figure eights)
# favor either the previous pose or the following pose to keep the spacing snappy. Avoid even spacing, unless it's mechanical.
# break the joints and breakup any big shapes. Add drag where appropriate
# Add in keep alive where it's needed
Depending on the nature of the shot, you might pose in the dialogue and face sooner or later. If it's a wide shot you might do the body first. If it's a closeup dialogue shot it might be your starting point. In either case I'll discuss both in their own sections.
# See Dialogue
# See Facial Animation
# Finger animation: breakup the timing, deal with any contacts
# Clean up the Graph Editor
-turn off autotangent
-offset timing or add more keys where it's needed
-Make sure any kinks or extreme changes are justified
# Key Offsets: See if offsetting the timing gives it a more organic look. Try offsetting translations, and rotations on the same control.
# Layer in a little more squash and stretch, like small translations on the spine and head.
# Check that the lesser used rotation channels have some sort of animation on them for the spine, neck, head, and jaw.
# Last Tweaks
-fix what's broken and either not reading or reading wrong
-Check for IK pops
-Fix arc hitches
-Look for hiccups in the line of motion
-Remove any distracting moves
-Make sure there is enough keep alive
-Make sure nothing is pinned in camera space
-Clean up geo intersections