OSM Carto developers stand by their 2013 decision:
It’s entirely the wrong concept to put a “label” node in the database, and I’ll not be using it for rendering.
The geodatabase is for geodata. Rendering decisions are made by the renderer. If the renderer isn’t sufficiently advanced to place a label to your desire, then lets improve the renderer.
I suggested a method to improve the renderer but it was rejected by @imagico and @pnorman for a number of reasons. @imagico recommended to wait for more consistent mapping methods (e.g. more railway operating sites being mapped as areas) first, and then come back to this question.