The pull-down is only 10k for the speed input.
With a noisy environment, like a car, it can be too high impedance, some spikes might get through.
What do you mean, that the TI input is in high state ? The speed input ?
The schmitt-trigger sets a strong digital signal on the TI input, nothing can change that I think.
I noticed that you don't have filters. Perhaps adding a small capacitance parallel to the 10k would help.
You do need some extra filter and protection for the 12V. A fuse and nothing else is not enough.
A fuse + suppression coil + more high voltage capacitors are needed. Perhaps an diode or even a resistor to reduce the current.
The LM1117 can have a maximum of 20V at the input. You can get that by turning on the motor for the first time.
How do you use the grounds ?
Are the sensor inputs connected to ground somewhere, or just an isolated sensor directly to the Arduino ?
Perhaps you need opto-couplers.
Is your battery voltage measured correctly ? After the readVcc, the internal mux and voltages needs to be set normally. You do a dummy read, that is good, but I also wait a few ms after the dummy read (maybe 10ms delay, something between 1 to 20ms).
You have many delays in your sketch.
For example the debounce. The Bounce2 library does not use delays, but it relies on a fast running loop() without delays : http://playground.arduino.cc/code/bounce