Are there any specific nodes I shouldn't be using?
The graph editor should indicate which nodes take the most rendering time in red. In general, noises(FxMaps) are the slowest, warps and blurs come second (the directional warps and directional blurs should be faster).
Although the actual timing depends on the final hardware you will be rendering on (any mobile cpu is likely to render slower than your pc's gpu or cpu) the relative "weight" of nodes should be similar.
I have found that using "Color Input" causes big performance hits.
Strange. That should not be the costliest part of your Substance. Passing a color input texture to the Substance engine only makes a copy of the texture pixels. How did you measure that, and how large is that hit ?
Also if I have a SVG connected to a blend node with an opacity of 0 (set in code) do you still redraw that SVG?
In order not to draw the SVG, your blend node should use the "switch" blending mode instead of "copy" (unless you are working in greyscale, in which case "copy" and "switch" behave the same, and the svg will not be drawn).