Surely redundant transistors would also be a useful technique. E.g. have an array of transistors at the current geometry, all doing the same function. The chance of a single event upsetting them all becomes unlikely.
dotnet00
Yes, the strategy IIRC SpaceX's Dragon uses is to have 3 more modern CPUs tied together, such that they're all running the same operation and checking each other. It mitigates errors without as much of a performance penalty.