Battery Charger/Spark unit controller?

Your right on the first part. It should be pretty easy to control the charging system. You don't really need a micro to do it, but what the heck.

As for the ignition system. When Transistor 3 turns on current builds up in the coil. The current increases relatively slowly because of the low voltage (~13V) and high inductance in the coil. When Transistor 3 turns off, the current decreases very fast. The Zener diode voltage is large and the high voltage creates a large di/dt which causes a very large voltage on the secondary causing a spark in the spark plug.

The Pulser is used to turn the transistor on for a fixed engine rotation before the desired spark timing. The advance mechanism will mechanically move the rotor forward and back to adjust the spark timing. If I am mis-reading the document please let me know.

You can control the transistors with a microprocessor, but you will need to control the turn on, and especially the turn off relative to the crankshaft position. In a typical automotive application it will be controlled +/- 1uS. In motorcycles and race cars it is done much more accurately since their engines run faster. You can probably do it with an Atmel micro (we used to do it with 6800's) but it will take some work. You would need a position sensor on the crank with at least a few pulses per rev and you will have to calibrate it with a timing map because the delay times in the sensors and drivers will have more of an effect at higher speeds.

The final transistor and zener are high voltage parts, typically 300 volts but 600V are not uncommon. Since this is an older bike it is probably more like 100-300V.