By "substructure jump" do you mean jumping to a character inside a word? Avy can do that! Compare avy-goto-char and avy-goto-word-1 (or avy-goto-word-0). I have a prefix arg setup working with avy that I stole from ace-jump-mode to jump to either words (avy-goto-word-1), subwords (avy-goto-subword-1, jump to the 'K' in ThisKindOfText, but not the 'x'), or arbitrary characters (avy-goto-char).
If you don't already have muscle memory for ace-jump-mode, which is IIRC why I did it that way, you can just bind the different things to separate combinations, like the avy readme suggests: https://github.com/abo-abo/avy/blob/master/README.md
I meant larger file jumps, say you start typing a prefix, avy applies overlays on matches, but you man quickly want to focus on a paragraph and not deal with the whole set of matches.
Not ergonomic enough, since you don't really know yet which region you want to be in. In my view, a hydra like structural navigation while having 'avy' on would be better
I think I see why this would be useful for things other than navigation - e.g. using avy to drive replacement or multi-selection, "select all X within this paragraph"-type things. But for navigation by word, for example, I tend to type only 1-2 characters to narrow down the selection, even for a character that is common on-screen. So I don't quite see how it would be faster to do what you're saying. I'm probably still missing something, but I don't know what.