For one, this is why we have normal maps. You can bake nice normals at a super high poly resolution. Your real issue is just not enough edge loops.
Anytime you have a vertex that is on an edge that is 90 degrees, or close to it, you need to create loops around it, otherwise it is interpolation lighting over such high angles. Also, this is why you usually apply sub surface division and then back normals onto low poly meshes. For this same type of reason. More polys = better surface representation and lighting.
Isn't the whole point of smoothing groups so you avoid having to manually create an edge loop though? Note I've only used blender, and 'make sharp' on an edge does (I think) the same thing, it internally forces a duplicate of vertices on edges so they can have different normals and not share the same normal.
To figure out what is happening, you could delete all the polys outside the smoothing group you have marked in red, and see if the 'artefacts' persist. At least you will know then whether it has been caused by the shared normals, or some issue in the red group mesh.
[just checked in blender and you also need the edge split modifier in addition to 'make sharp', sorry for any confusion :) ]