This suggestion has been closed automatically because it did not receive enough votes over an extended period of time. If you wish to see this, please search for an open suggestion and, if you don't find any, post a new one.
With nested Bb Codes, this system would be no difficult to elaborate. But it would be easy to check if the XenForo default Bb Codes have a content. If not => don't parse. For the Custom Bb Codes, this should be let to the Bb Code creator. Some might need to create BbCode without content, but just using options (don't ask me why, it's just a eventuality).
To do it: use a listener to extend the XenForo Bb Code Formatter class "XenForo_BbCode_Formatter_Base", then extend the function "renderValidTag" with this code.
EDIT: do not use the above code
You can easily customize the code to target only a few Bb Codes. If you want this rule applies for all Bb Codes, just get rid of the first conditional.