There isn't a way to dynamically hide and show headers. If you have a blank value (or a null) it will always be shown in the header as long as "Show Header" is ticked.
A better way to achieve this functionality is to use hierarchies. If you create hierarchy of your three dimensions, you can click the "+" or "-" in the headers (or blue pills) to expand the level of detail. See a video demonstration here. Tableau Hierarchies and Drilling - YouTube
Sorry for the long time to reply, I had to switch to internet explorer for this to work. The problem with a hierarchy is that the data isn't hierarchical, I want to be able to view ***, Race, Age, *** and Race, *** and Age, Race and Age, and ***, Race, and Age. If I add a hierarchy I'll only be able to view ***, *** and Race, and ***, Race, and Age.