Cutting a regular shape out of an irregular model (with good topology)

Seems simple enough, but Im having a hard time making it work. For a project Im working on I need to create the pictured model while maintaining good topology so a subsurf modifier can be applied and normals can be baked from the high poly model. In the picture I just used a boolean modifier to cut a rectangle out of the dome. Obviously you can see the topology is poor and is not workable for my needs. Can anyone suggest a good technique to cut that rectangular shaped hole out of the dome and maintain good topology?

Start with what you have and clean it up by moving/merging/cutting out new topology.