I've got the beginnings of a Python auto-exposure control script working. Unfortunately, just changing the brightness isn't enough to get a good picture out of all conditions, so I've got it changing the brightness, contrast, and exposure mode settings now. It starts by raising/lowering the brightness, then when it hits the maximum it tries changing the contrast, and if those fail to raise/lower the image levels enough, it changes the exposure mode. I don't know that I've hit the sweet spot yet for all conditions, but it's definitely better than leaving it on a setting and having a totally white/black image.
I'm definitely going to keep an eye out for a built-in auto exposure setting on my next IP cam.