Use another token value if the first one is empty I am using the [message:user:profile-fname] token to get the first name of the user, but some users are without first name; the value shown for that token is a blank string.  

How can I use another token (e.g. [message:user]) if the first token is an empty string?
Seems like there was Token Logic module, once upon a time, and it got abandoned: https://drupal.org/node/354039

You can try and wrote your own token to fill that niche, or contact original's authors.