You could continually compare the encoder values to that of the gyroscope. Using the arc length covered by both sides, the angle of the robot is just the difference of the distance covered by the right and left encoders, divided by the distance between them. Even if the wheels slip, you have a very good approximation of the angle still. If the gyroscope goes above or less than a certain percent of tolerance you experimentally derive, you can make the gyroscope reset while the encoders takeover.
If no encoders are present, you can use 2 gyros stacked on top of one another. The amount of drift on both of them will be the same, but opposite, and can be therefore eliminated.
Both of these methods require much testing.