To make the shift point adjustable for the least amount of work, would be to add two buttons, one for increase, the other for decrease. The constant value used in my code would be changed to an EEPROM stored value. EEPROM retain values after unit is powered down. Adding a LCD would be slightly more work, but would aid in adjusting settings.
The same timer1 that is used to measure RPM, may also be used to control an output pin, based on a control register called output compare. That pin could be used for control of engine timing. Since the period is measured for 90 degrees, you know the counts for that, and easily retard timing. That is the basis for all the EFI/IGN control in my systems. Retarding timing burns the fuel, but cuts power. In EFI systems the fuel is cut, but ignition stays on. Rev limiting is smooth when done correctly.
To do a shift light and rev limit two different setpoints/compare points are required.