Find a long runway somewhere with the wind straight down and not turbulent and, with an instructor, position for a landing and fly the aircraft down the runway aiming to stay just above the ground for as long as possible with some power eventually converting into a touch and go - repeat a few times. It is a wonderful way of teaching the brain the required spatial awareness.
That is all landings are really about, the brain developing the required spatial awareness which is why instructors bash students around the circuit. The trouble is rushed landings because of short runways does nothing to give the brain time to develop the required spatial awareness.
Once you have got that bit right landing on the numbers, handling cross winds etc will come a great deal more naturally.
I have done it with quite a few pilots that were struggling with their landings so I know it works.