1) Find ways to make the type systems you are working with stronger, either through better tools or better languages
+1
unfortunatelly most crypto developer still build on their percieved superior programming skills, instead of using modern languages.
Most exploits arise from programming errors in low level weakly typed languages and not from those exotic "timing" and "memory" attacks that they use to justify their ancient tool set.