stuck uses strictly time domain techniques which has the advantage of using less processing, but that means it can struggle under some conditions. There are a few things you can do to improve the quality of the drone like using a compressor in front, clicking the stick it button AFTER striking the strings, and playing chords as in tune as possible (error in the pitches of the chord makes the waveform aperiodic).
regarding your points: 1. requires a total refactoring of the code. Its not going to happen soon if ever. 2. yes thats right, though I used a much more sophisticated algorithm than a zero crossing, but the principle is the same.
I have spent hours and hours trying to make stuck work as smoothly as possible, testing dozens of tricks and techniques. I feel like I’m able to get decent results with 3 string chords, but to get it any better (which I really wish I could) I will have to jump to phase vocoder techniques which require FFTs and are going to add CPU load or latency (not to mention a total rewrite). Sorry I’m getting defensive.