I've solved the problem of sloping floors by adding a simple reflector to the robot, so that the laser-beam is guided toward the light-sensitive resistors. I used double-sided tape to attach pieces of aluminum foil to a couple of smooth pieces to Lego, which was then angled to create a simple reflector:

The robot now looks like it has a beak:

With this reflector, the robot was able to follow the laser-beam across my livingroom with no human intervention.