the brute force way is have more loops in the vertical cylinder the rectangle is cut into and using the inset method so as to use the existing loops as some of the support loops. After insetting the rectangle, add support loops. I added some extra support loops (red) on top of this set up to hide the minor warping, I did…
You don't need extra loops . Neither so hi res cylinders. You just have to project vertex normals from a cylinder without hole . it's a main reason why projecting vertex normals from one object to another exists.
It may be just your initial cylindrical object before you did the hole .The one that you think has perfectly ok shadings without artifacts. But yes, in many cases its easier to transfer vertex normals from hi poly object. Baking usually assumes per pixel baking into textures. It's not what I mean . I am not Maya user but…