Ideally if a feature (or feature interaction) is no longer in use by end user, only those feature cases should be removed.
However we do not live in ideal world. We have timeline and resources constraints and as you have rightly pointed out, reducing regression time is seen as first level of action to mitigate it. If all other actions of reducing regression time (like optimizing execution, using additional resources when they are not in use ,say on weekends, or during night time) one should consider managing regression case count so that time required by additional regression cases is compensated by reduction of not-so-useful cases.
Guidelines for de-scoping should be
- The features which are stable, that is no bugs have been reported by regression tests or by end user in last few iterations/releases.
- Not to de-scope all cases of the feature, have at least a case (which is most complex or covers maximum scenarios) in regression suite.
- If bandwidth permits and nature of testing allows combine or merge those cases in single case to ensure feature coverage is still intact.