Fixing normals after separating mesh into new objects
Unfortunately Blender has no method to adjust vertex normals by hand, so the only way to fix this (well, sorta...) is to separate your mesh in a way that the vertex normals don't change their direction at the cuts. 

In a nutshell this means cutting up your mesh in the areas where you have a more even geometry. Depending on your geometry this might not entirely fix your problem but it reduces the amount of difference in the shading significantly. Keep in mind that this also might increase the loopcuts, which results in more vertices/faces.

In the image below I marked the areas where I put the loopcuts with green arrows.