It took me many weeks to realize this:
If DS wakes up crying (only happens at naps), it means that he's waken up too early and is still tired. So I usually let him cry a little (a few minutes) and most of the time he falls back asleep. If he continues to cry, I pick him up and bounce him until he falls asleep again.
When DS gets enough sleep (eg, overnight sleep, or a long nap), he wakes up happy and content, and will smile when he sees me.