PID tuning is an art - unless ytou haave one of those brains that can take everything in and understand what is going on.
After a lot of problems - by concentrating on trying to get the PIDs right and used the logic that if I can get it it to hover and not wander all over the place - and have no occilation - I had it right - but it never happened!
I went back to basics and how I had put together my kit. I bought DJI motors on the premise they are among the best. I bought Emax ESCs for the same reason and that seemed OK without having to flash and re-flash them. I got the tuning gizmo also. I have bought and used, CC3D, CC3D Revo, KK2, Naze32 6dof and Naze32 10 dof.
I found that using OpenPilot and later LibrePilot, the ECS tuning was hit and miss - made worse because Emax ESCs play a tune rather than a couple of beeps.
Shortened down, I sorted out the ESCs to make sure they were all as near as possible "balanced" and left the PIDS as default. After 8 months of wrecking stuff - and within the space limites of a smallish garden - I got to a point where I think the setup is pretty good and "hover" is stable and when the Aussie weather settles down after our current storm season - I should be able to get out and tweak the PIDs a bit.
You don't say what what you are flying so it may help others give better replies if you list your kit