I don't have an answer for complete intuitive ZBF2L, but here are some tricks I use to affect the EO:
1) Learn at least the easiest VH-cases. Personally I use only these from time to time:
U R U' R'
R' F R F'
U F' L' U' L F
U R B U' B' R'
I use mostly just the first two, but the last two are also quite fast and sometimes you can get an OLL-skip with these, which isn't too difficult to see beforehand.
2) Affect the EO by choosing different algs.
For example R U R' U2 R U' R' U R U' R' doesn't affect EO (since it's 2-gen), but F' U F U2 R U R' does.
3) If you have an F2L-edge permuted but misoriented, you can often easily orient another bad edge while solving the case. The most obvious is probably when you also have the corner permuted.
For example in R U' R' U F' U2 F U2 F' U F the first R U' R' changes the orientation of FR and UF, so just put a bad edge on UF before doing the alg.
In U' R U R' U F' U' F the R U R' part changes the orientation, but you can also solve this case for example U2 R U R' U' F' U F and it changes the orientation of a different top layer piece. Obviously knowing many F2L "algs" is very useful here.
4) Orient edges before solving the case. I don't use this much, but it's also a possible way to deal with the bad edges. For example R U' R' F' U2 F changes the orientation of FR and UF. If you have a bad edge on UL, this is obvious to deal with by starting with R U2 R'. If you instead have a bad edge on UR or UB, you could deal with this by changing your viewpoint by making y' (now instead of <U,F> it's <U,R> that's not considered to change the orientation of the edges), but this is not the point I'm trying make (but certainly a viable way to deal with the case, sure you have to make an extra cube turn though). With the bad edge on UB you could do for example R U R' first and then solve the resulting F2L case with U and F faces, which isn't terribly slow.
5) Pick an algorithm that leaves you with a connected pair in the end so you can use a VH-alg. It's more awkward to affect the EO if you have a separated pair. For example instead of R U R' U2 R U' R' U R U R' you might want to choose R U' R' U R U2 R' U R U' R' instead. Of course don't overdo this, you don't want to have slow algs.
6) Understand the Petrus EO step! Many cubers only know the R U R' "trick", which changes the orientation of FR and UB, but if you really understand what's happening in this step, you can use your knowledge in Fridrich solves as well and find tricks of your own. Pretty much all of the above is quite trivial with some Petrus knowledge and you can do tricks on the fly even if you use empty slots or something more intuitive than just applying an F2L-alg.
These are only some guidelines and examples, you have to think on your own to find more useful tricks. Probably doing a lot slow solves is a good idea, stop to think when you get an interesting case.