This video helped me become sub-20:
Also, what are your splits? By that, I mean how long does it usually take you to do cross, F2L, OLL and PLL? If you don't know, then go on to csTimer.net, go to settings, click timer and change multiphase to 4. Then, after every step press the space bar. This takes a bit of getting used to and you shouldn't use it for normal solves as pressing the spacebar wastes time. To be sub-20, your cross must be below 2.5 seconds, your f2l below 10 seconds, your OLL 4 seconds and PLL 3 seconds. When you have checked your splits, work on individual areas that aren't below the times I have said. For cross, do blindfolded cross solves, for F2L do slow solves and for OLL and PLL use an algorithm trainer like jperm.net or thebestsiteever.ru. Becoming colour neutral will also help but it isn't necessary.
Finally, I don't recommend learning full OLL as the time spent learning algorithms could instead be used doing slow solves and practicing the algorithms you already know. For context, I am (almost) sub 18 and I have only just started learning full OLL.