VL6180X/VL51L0X reflectance compensation?

Hey folks -

I've been playing around with a VL6180X for a few days now, and have figured out how to get fairly decent readings from it.

My project involves moving the sensor laterally across an object to get a profile of that object. Running multiple readings and averaging them has allowed me to get better accuracy. I've observed that the sensor is temperature sensitive, so I've added a temp sensor to the project. I've also observed that the VL6180X is very color/reflectivity sensitive, such that a flat object with differences in color cause the sensor to believe that the flat object is not flat - it reads that dark sections are further away. Also, translucent objects are quite terrible for the sensor, as the laser reads partly through the object, giving a false reading.

I know that an ultrasonic sensor solves the color/reflectivity issue, but it doesn't have the resolution that the VL6180X does. Is there a sensor that checks for color/reflectivity that I could use to compensate for those differences on my scans?

Ironically, I understand that the VL6180X can be used to check for reflectivity, as long as I know the distance, but in order to know the distance... I have to know the reflectivity!

Are there other possible solutions to this issue?