My idea is that there should be an option for each legend item (in REST and SOAP Api) to only list features in the legend that are actually visible in the current map extent.
For example:
If there is a unique value renderer containing 100 items and more (eg. geology) it would be very useful to display only items which are shown in the current map extent. Map extent could be a parameter for GetLiveLegend.