"crossing:markings=*" + "crossing:signals=*" allows for all combinations of these features (and their details, such as "crossing:markings:colour=*") to be tagged, based entirely on observable on-the-ground information, under one coherent schema. "crossing=*" does not.

Adding "crossing=*" in line with the documentation on the Wiki is fine, though I'd expect those tags to eventually be removed in the future. Removing "crossing:signals=*" is not. "footway=*" is irrelevant here.