In Facebook's case, I think they are already serving completely different content to logged-in users and non-logged-in users/crawlers; most of the complexity of Facebook is invisible to crawlers anyway.
Keeping two different output formats for a site (one for crawlers and one for humans) sounds complex. To date, none of the sites I've developed could have justified such overhead in development.