maybe you can implement Q3 fog volumes, as they are somewhat better
however i never thought that gzdoom has poor fog

As for lighting : i like what gl_light does it is very fast and looks very nice if you need vertex lighting use that ( it isnt hard to configure it , and enable before model rendering, then call gl_normal() on model rendering , and disable lighting after model is rendered )
I dont care if it doesnt look "dooms" because models never looked doom

and if i like doom graphics i wouldnt cary about any other sourceport than zdoom or something like that..