The aim of this post is to gather all the tips that can often be applied to radiation-hardening challenges.
Please only post answers which can apply to a large number of languages, and one tip per answer.
In a 2D programming language, and with radiation that deletes or inserts bytes, a useful pattern is to create a path on the right hand side of the program, and get the pointer there quickly.
This is because deleting or adding a character will always change the length of a line and disturb this path. This lets you detect and adjust based on the disruption.
For example you can use this to avoid damaged lines, or intentionally execute them.
Here's an example where I've used this strategy: Construct a Geiger counter in Klein
This is a fairly obvious one, but redundancy can help.
For example, if you have a program in a string/function written multiple times, and then a small "core" program near the end that checks for the longest program, the program can likely survive a random hit, or even a few.