Well, you'd still need something to generate the high voltage for the spark, so there isn't much overall simplification. A magneto driven by points is about as simple as it gets.
But more importantly, the spark does not always occur at TDC — in fact, in most operating regimes for most engines, it rarelynever does. In order to get the best efficiency, the ignition timing must be variable relative to the piston position.
Normally, at idle, ignition occurs a few degrees before TDC. But as the speed goes up, or under hard acceleration, the ignition might be advanced by as much as 40°-50°. Back when we used mechanical points for ignition timing, these were known as "centrifugal advance" and "vacuum advance", respectively.