Unfortunately the 960 still has trouble with black areas on carpet. I ended up changing rugs so that I wouldn't have a problem anymore. I don't think this is something that has been fixed in any robot vacuums.
There are two ways you can blind the cliff sensors. One doesn't require any physical changes, just taping some laminated white paper to the sensor areas. The other involves permanently blinding the sensors by modifying the sensors themselves, so would only suggest this on an old model that is no longer under warranty. I've tried both options on an old 560 that I now use in my basement where I have 3 black rugs. I wouldn't recommend either modification if you have your Roomba run near stairs, though.