Here is a concept and idea that makes CFOP easier. I called it CEFOP(Cross - Edge Control-F2L-OLL and PLL). Basically it is to introduce edge control after cross. The idea is as follows.
Basically a cube has 12 edges and a scrambled cube has an even number of good and bad edges. If you use ZZ, you need to be proficient to inspect 12 edges and turn them good using F,F' for 4 bad edges in F face and using B or B' move for 4 bad edges in B face.
If 2 bad edges, you can use FUF', FU'F', F'UF,F'U'F' , FU2'F' to turn bad edges in equator from bad to good and similar for back face by replace the F turns with B turns.
But once you done that the whole solve is 2 gen with just R,L, U and D moves. But the EO line is the quite difficult for people who are used to making cross optimally by using all moves including F and B without restriction. What if a CFOP user wants to make a solve 2 gen? It is harder to be color neutral on ZZ and sometimes it feels restrictive
My suggestion for CFOP cubers who are optimal with cross solving, color neutral and extended cross solvers is to do edge control after cross.
This can turn your whole F2L into rotation less solving and get only OLL cross cases. The reason it is easier to focus on finding and fixing bad edges if the cross which is already solved are all good edges. You end up just focussing on 8 edges. You can have zero or even number of bad edges such as 2,4,6 or 8 bad edges.
You can do edge control for just the 4 middles layer edges or all 8 edges to make a F2L solve more seamless. The result is all the difficult F2L case with flipped edges are avoided and dot OLL can be avoided.
Basically after doing the cross, if you have bad edges in UF and FR position, a sledgehammer will change them to good. A reverse sledge hammer will turn UF and UR edges to good.
Changing bad edges to good
1) Use
R'FRF' to change
UF and
RF bad edges to good edges and
LF' L'F for bad edges in
UF and
LF position
2) Use
rUR' URU2r' to change
UF and
UR bad edges to good edges
or
R' (R'FRF') R to change
UF and UR bad edges to good
or F (U'RUR')F'
or double sledghammer ( R'FRF') x 2
3) Use rU2R'U'RU'r' to change UF and UL bad edges to good edges
or L (LF'L'F)L' to change UF and UL bad edges to good
4) Use F( RUR'U')F' to change UF and UB bad edges to good edge
5) Use RU2R' (Sledghammer) U2(sledgehammer) to change UF, UR, UL and UB to good edge
6) Use FBUF'B' for bad edges in UF and UL and FL and BR postions etc.
I like to focus on 1-5 above on fixing bad edges and how to be fast in fixing bad edges with quick look ahead and inspection.
After solving cross, you should focus on the 3 edge pieces (FU,FR and FL) facing you. You should also track any good edge with the top color on the U face(eg. Yellow) , If they are good edges of the top color in the equator make a quick decision to do a Y or Y' turn so you have most Yellow edges that are good in equator. Track the good Yellow edges on top as well. If both edges in equator is good, do a quick d2 turn.
The aim is to quickly have 2 edges in the back of equator to be good. You can quickly use 3 move insert(such R'UR') to put a yellow edge into equator if possible. Use 1-4 method to correct remaining bad edges. Once there are no more edges to fix, the rest of the solve is simply rotationless F2L and OLL. You can either focus on just fixing middle layer edges or both.
If we are fixing only middle layer bad edges, it is important to look at just the middle layer edges on the top layer. Imagine if all the top middle layer edges is on the U layer. Assuming yellow is the top color, you will usually have blue ,green red and orange. If blue and green is dominant color, either blue or green should be the front face to have less rotation. If orange and red is the dominant color, that should be the front face. You need at most one rotation and one sledge hammer to have a rotation less F2l subsequently.
In fact all F2L can be solved with at most one rotation and no F moves to fix bad edges. if we solved by those pairs having F and B colors first and bring bad edges to the U face and rotate 90 degrees about Y axis and solve all remaining pairs. All difficult F2L cases can be avoided. The trade off is solving selected pair rather than solving any pairs you see in usual F2L which may slow you down initially.
Some explanation of the step is in the video below
Middle layer edge control
Here is variant of edge control after cross that I is useful for OH solving since it use double layer moves and avoid F and B' wherever possible.
After solving cross, inspect middle layer layer edges front and back and remember where the bad edges are. Do a u or u' rotation, this is the important setup move to fix bad edges similar to keyhole method
Note that the bad edges in equator becomes a good edge after a u or u' move. So replace it with a bad edge on the U layer via 3 moves inserts (R U'R', RU2'R', RUR' FR Slots, R' R, R'U2'R, R'U' BR Slots and similarly for the left side slots. Note all 4 slots can be use to fix bad edges. After fixing the edges undo the setup move with the opposite u' or u move. the replaced bad edges will turn good. This method is especially good to fix bad edges at BR and BL slots which is notoriously hard to solve during F2L and makes the whole solve easy.
Fixing bad edges at back slots
Do take note of special situation,
1) All middle layer edges are good, use earlier methods to fix bad edges on U layers.
2) 4 bad middle layer edges in equator, take out 2 of them before fixing
3) 2 bad edges in diagonal corner. take out one bad edge before u move or use sledgehammer to change it.
Basically you can't have more bad edges in equator than U layer before using u moves to fix it. Otherwise use earlier methods such as sledgehammer to fix u and equator bad edges simultaneously
A very useful triggger
The highlight of this method is a trigger that converts 4 bad edges to good.
It is basically
RuR'u'R' converts 4 bad edges in BR, BL UR and UB position to good
R'u'RuR converts FR, FU, UR and UF edges from bad to good.
Lu'L'u'L' coverts FR, FL, UL and UF
L'uLu'L converts BR, BL, UL and UB