As you have only asked for detecting if the crankshaft signal is over or under 100Hz, one way of doing it is to use a dual retriggerable monostable. The first section should be set up to be triggered by an edge of your crankshaft signal, with period 10ms. It will pulse if the input is under 100Hz, and remain steady at higher speeds. The second section is triggered from the first and has a period of a bit over 10ms. If its input is pulsing (<100Hz) it will stay active, but when its input stops pulsing, it will time out and go to its inactive state. A single chip solution using a dual monostable from 74xx series (or successors)or 4000 series logic families, or even using a NE556 + a couple of transistors would be possible.
Another option would be a low pin count MCU programmed to time the interval between input pulses, which would be a much better choice if multiple outputs with different trigger speeds are required, or if you want different speed setpoints for shifting down vs shifting up . ..