If you are aiming for a cleaner topology, I would try it this way:


Remove the red lines/loops
The green lines indicate where you can connect that vertex that is left alone in the second image. Having Ngons can lead to issues later on, so try to avoid using more than 4 fixation points for a single polygon.
The blue lines should be straightened out and where the little circular line is you can merge those two vertices.
From a technical aspect you also need to remove the outer ring loop that you added to define a potential subdivsion modifier. Normally, you would also need to create a really high poly tube and get the ring in there using the boolean modifier, but since you said you want it to be a clean mesh, you can stick with that. Have your ring part a bit more blocky, but also not go into several thousands of polys because of a boolean modifier.
Or you start working with splines when it comes to curves.
Other than that your topology looks fine.