Hi Andrew,
You might be able to remove the tab from the ContextualTabGroup and add it to the Ribbon.Tabs directly. That would allow you to show tabs without the ContextualTabGroup header. However in that case you couldn't toggle the ContextualTabGroup header back in without removing the tabs from the Ribbon.Tabs, adding them back to the ContextualTabGroup and activating it again. It seems to be more trouble than it's worth.
If the Visibility=Hidden trick is working for you then I would suggest going that route since there aren't any other properties that would do the behavior you are looking for.