Here is a schematic I drew up for my Tachometer circuit. It uses a LED/phototransistor pick up to measure rotations of a turbine rotar shaft, max RPM measured is 200,000 rpm. I am new to microcontrollers so let me know what you think, any changes, or things I did wrong. Let me know what you think of it.
If you cant get rid of the 595 by connecting the leds to port b directly (dont have a datasheet for mega8 handy). I would get rid of the 595, and use a 3->8 mux to control the transistors perhaps using the port b, then I would drive the led segments directly from port c. That will give you much faster refreshes as you will be able to update a digit by writing once each to port b and port c. The way it is now, you have to do multiple writes to shift the data into the 595.
Also check out: https://www.5bears.com/ecu.htm
He has built a control unit for a turbine, he also uses a lcd for a display, which can make your layout simpler.