So you should not use a USB audio card. It adds latency. No way to get around this. But I think you should try if additional latency is a problem for you. Zynthian itself is (currently) not created for this usage, so perhaps you have to do some optimizations by your own.
You can only avoid xruns by careful selecting your plugins. There are some plugins which may produce xruns faster than others - also depending on the selected sound of the plugin (as @lod wrote).
This is a common problem of sound synthesis. There is not much place for multithreading plugins. At the end you have to wait for the next calculation for the buffer from the previous calculation so multithreading often makes no sense.
I am currently trying to get the most of a Pi with CPU isolation: one core for jackd, one for engine(-stack). The rest for the system.
Compared with commercial synths: We can try to use every synth engine that’s “flying” around (which may overload the system (CPU/ memory)). Commercial synths won’t integrate a xrun-generating engine or will use a better hardware… so we are the sound designers and users and have to try by ourself what is working and what we should avoid.