For the optimizer, I usually use gtsam, which seems to giving more stable results.
For other settings, it really depends which kind of sensor you are using: RGB-D camera with projected light VS TOF sensor, pure stereo camera with/without active IR, 2D lidar, 3D lidar?
In general, ICP would work well only when depth or points are captured from a TOF sensor or LiDAR sensor.