I have several geoserver layers that have only one rule. By default, they do not get a text label in the legend. I know if you use LEGEND_OPTIONS=forceLabels:on in the getLegendGraphic call, it will label it. Is there any way to make that the default for my geoserver installation?
No, to the extent of my knowledge there is none, besides changing the code, as of GeoServer 2.10.x (current stable).
If you are interested in getting that functionality see a guide here: https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer