In case this helps, I'll throw out a pragmatic approach I sometimes use for problematic maps:
1. Convert the feature class you want to label off of to a feature class in a File Geodatabase.
2. Add a field with text (string) type to this feature class called "LabelProcess" or similar.
3. Set the map to Layoutview, with the desired scale and all the layers on that need to be displayed.
4. Make sure Maplex is active.
5. Start labelling. Play with the settings in Maplex until you get the most possible labels looking good.
6. Select all features with labels that worked. Using Field Calculator, calculate the "LabelProcess" field to now include the attribute "Maplex Only" or similar.
7. Copy the feature class you are labeling off of in the Table of Contents so you now have 2 listed.
8. For one of them, set a Definition Query so that it just displays the ones that are "LabelProcess" field = "Maplex Only".
9. For the other one, set a Definition Query so that it just displays the ones that are "LabelProcess" field <> "Maplex Only".
10. Turn off the feature class with that is based on "Maplex Only".
11. On the one that is <> "Maplex Only", try a different combination of settings. For example, consider allowing the label to be rotated, using a leader line, reducing font size, splitting the label into more than one line, etc". Turn on the other layer to make sure there will be no overlap or other visual conflicts.
12. Once a batch of these work, select the features and then using Field Calculator populate the "Label Process" field with a good descriptive name.
13. Copy the feature class being labeled, set a Definition query to be equal to the latest description.
14. Update the Definition Query of the labels that still don't have a good solution to cull out the ones that worked in the last step.
15. Continue the above steps until you get to a point where Maplex will no longer effectively label features. At this point, one will have to switch gears and manually label these.
16. Convert this last batch to annotation, making sure you only are exporting the ones that have do not have a sucessful label from an above process. Then manually align, rotate, add leader lines, etc.
17. As a final step, turn on all the copies of the feature class in the Table of Contents, along with the Annotation created in the last step. Ensure that it all fits well together. There may may another cleanup step here if some things work well individually but not together. Example: A leader line generated in one step overlaps a label for another step.
18. Note - if it is possible the map will be shifted in extent after doing all this, it may be worth it to do an additional step and blow out all the labels to annotation layers. This will "fix" them to one spot, whereas labels tend to "float around" somewhat due to Maplex if the map is shifted, which can cause visual conflicts.
I use this approach on large complex maps with many labels and challenges like a variety of polygons sizes that need to be labeled. For example, we have a poster-sized citywide Zoning map where every polygon needs to be labeled clearly with the zoning designation, and the polygons vary in size from a 70 square feet to several thousand square feet. There are areas with many "small" polygons with different zoning designations all closely lumped together besides areas of large polygons, so pure Maplex or Standard labeling is ineffective. Manually labeling all 1,400 polygons is a bit tedious, so this process helps use the power of Maplex to do the bulk of the labeling and then saves just the "troublesome" labels for the more time-consuming manual processing.
Chris Donohue, GISP