Normal maps have the greatest trouble with 90 degree edges - I’m not sure why, and they work fine when raytracing, but game engines just make a mess out of it. Adding a small bevel to these edges will solve that and result in a much prettier end result.
Secondly, you’ve got some mirrored parts, and the problem is that both sides are trying to bake, but with different results. Select all copied parts, go the UV editor and press G and type in the texture width (so, G, 1024, for example), so that these UV are moved to the 1-2 UV space instead of 0-1. Now they’ll be textured as usual, because textures tile, but the baking only happens in the 0-1 space, so only the ‘original’ parts left will be used in the bake.
Here’s a good page on normal mapping issues/technicalities/techniques.