Properly decouple Arduino in and output with opto coupler from engine noise

I would add a capacitor near the board Vin and Gnd.

I didn't mention it but leads and wires are your enemy (when it comes to noise). Its best to keep caps very close to the Arduino input pins AND connect all the caps to the same ground pin on the Arduino. Actually ALL ground connections to the Arduino should be on the same pin. If not you run noise currents through the board.

If all the processor is doing is what you've shown I wouldn't use a switching setpdown powersupply. They add more noise and are better for high current applications.

Something like a L7805CV (from ST) is good for 35 Volts in. Should be find for your application. Look at ebay for either the device or a small board with the device and capacitors.