There is a simple control technique to get good altitude control during autonomous landings. Turn off the throttle and follow a glide path defined by 2 waypoints. The first point is the approach point, and should be about 10 meters above the beginning of the runway. The second point defines the glide path, and should have a negative height, and be unreachable.
Whenever the plane is above the desired landing glide path, the pitch altitude control should be programmed to engage. Whenever the plane is below the desired glide path, altitude control should simply maintain level pitch, that will keep the unpowered plane from stalling.
If the plane is landing against the wind, it will land close to the first waypoint. If it is landing with the wind, it will land where the glide path intersects the ground.
The above pair of tracks were recorded during 8 autonomous flights of an EasyStar that I made today. Waypoint7 is the approach point, and waypoint8 defines the glide path. The two landings were within 7 meters of each other, and close to the intended landing point.