It seems to me that features are created on an ad hoc basis to account for movement as a last resort such that someone could easily whip up some feature nobody has ever heard of to explain an instance of movement. Is there any restriction on the type and number of features there can be?
Precisely.
The idea behind Minimalism is tinkering with the system to make it as efficient as possible. So the answer is that there are precisely as many features as there need to be, and no more. Various theories would propose certain feature sets, and later theories would improve upon those.
But as you suggest, there is no clear endpoint or "limit" to it.
I'm not sure about exactly what has been proposed for pragmatic types of movement like that (and there are probably some explanations that are not strictly syntactic, like "scrambling"), but if needed (by the theoretical approach) then a feature could work I suppose.