In having a couple years of building services and managing them afterward I've come to appreciate the challenge of compromising how users want web maps and apps to look while trying to keep the amount of services created to a minimum.
Currently, to keep service creation to a minimum I have "All" services which hold potentially many layers within them. This is because it is easier to manage a few services versus many. It also is helpful because although users may have a specific few data items they want to use, more than not, they end up wishing they had a couple other data items available to them quickly without downtime from an author editing a web map.
A simple fix would be for ESRI to allow the web map/app author the ability to hide a layer within the table of contents (TOC) but still allowing the user the ability to unhide the layer. This would allow a better expierence to the user because it removes clutter from TOC while allowing the service administrator the ability to use a single service versus creating new services.
Currently, the author can hide layers within a service from the legend. Which with correct assumption means technically it should be too difficult for ESRI to add the ability to hide a layer.
A similar Idea has been posted for MXD TOC manipulation:
https://c.na9.visual.force.com/apex/ideaView?id=087E00000004DajIAE