Sharp edge support loops for cylinder I'm new to blender and have been trying to tackle this issue for hours over the last few days now (trying to contain the complexity by insetting, beveling, extruding, etc). Very simply put, I'm trying to cut a rectangular hole in a cylinder. 

I wish to extrude the faces inwards and sharpening the edges by either creasing or adding support loops. Obviously adding a support loop causes the vertical edge of the cylinder to get a sharper edge as well, leaving unwanted results. Creasing creates weird shading issues and an overall messy looking result.

With my very limited modeling knowledge I'm assuming I have to contain the loops to the cut-out area, I just don't know how to go about this. Does anyone have any tips for this (probably very basic) modeling issue?
The best topology I've personally found for this kind of case (hole in a round surface) is the following one. So you need to create a bevel on the corner, then join some vertices and delete some edges: