The process in Changing to alternate label if first label does not fit in QGIS? seems to be close to what's needed but given that was 2 years ago, I am wondering if there is a new way of doing this like in the ArcMap label engine?
Truncation - http://desktop.arcgis.com/en/arcmap/10.3/map/working-with-text/abbreviating-and-truncating-about.htm
Another option is Key numbering - desktop.arcgis.com/en/arcmap/10.3/map/working-with-text/
To clarify further Strategy 1 - place label as is, Strategy 2 - stack label (break into 2 lines), strategy 3 - truncate, last option -don't show. So that it tries to place the label using 3 strategies before it drops it.