Your setup sounds on the right track but this is just what I would adjust.

First, the screen top. These really don't do anything for humidity except bring it WAAAAY down. (Like steelsack said). Humidity in the ball python's cage needs to stay at a consistent 60%-70%. You can try using pegboard. Well, how about this, I have a 55 gallon tank that is housing an adult male ball python right now. This is what it consists of:

-An Under the Tank Heater (UTH) on one side set on a Helix thermostat @ 90 degrees and another UTH on the other side set on another thermostat at 80 degrees. This gives an ambient air temperature of 85 degrees. I don't like fiddling around with lights bulbs at all for any of my ball pythons, they don't necissarily even need light changes throughout the day, and the light bulbs soak up the humidity and dry the cage out (from my experiences with them).
-Reptile Bark as a substrate, I've noticed it helps keep the humidity up.
-A hide on the warm side and one inbetween the middle and cool side.
-Big water bowl (for a big bp, lol). I change it around. Basically, when he is not in shed, I keep it on the cool side. When he is in shed, I put it on the warm side (warm water evaporates faster, making it more humid in the tank).
-For the top/lid, I have pegboard instead of a screen top. This also helps hold in the humidity like you wouldn't believe.

Man, to think, I do all that just to keep in the humidity, and it is still only standing at roughly 67%... I can imagine what it is with tanks that have screen lids and a tiny water bowl, lol.

Well, there's my long post for the day. Hope it can come in use for someone somehow.
Jennifer