Map array modified objects to underlaying surface I create a big grid of objects using 2 array modifier on my original mesh. The resulting objects shall be placed (snap) to another underlaying mesh which is bumpy.

Following the description of shrinkwrap it sounds like the tool to go to, but sadly half of the objects are either to far away from the surface or the meshes get unrecognizably stretched. Is there a way to place those objects without needing to do everything by hand? Preferably with the normals aligning correctly.

"The Shrinkwrap Modifier allows an object to “shrink” to the surface of another object. It moves each vertex of the object being modified to the closest position on the surface of the given mesh (using one of the three methods available)."
Create a simple array of a place object with the same settings as the array you already have.

Shrinkwrap that plane to the underlying bumpy mesh instead, then use Duplifaces or a particle system (if the former has too limited controls for what you want to achieve) to distribute the objects along the array.

Parent the duplicated object to the plane mesh with Ctrl + P, then activate Duplifaces under the Properties Window > Object > Duplication > Faces