There are some products that normalize exposures for timelapses over arbitrary frames or time duration. In other words, it will adjust each exposure so that the overall brightness will vary only over a minimum duration or frame count. (Which, depending on how rapidly lighting varies, might result in no perceptible change at all.)
There are a number of deflicker filters for the ancient open-source program AviSynth, at least one of which I've used before with satisfactory results. If your footage is 4k, the 32-bit version will probably "run out of memory" trying to process it though. (There are some more recent 64-bit builds, and possibly some 64-bit deflicker plugins, but development of AviSynth became so fragmented around the time of transition to 64-bit, that it may not be worth it to try to figure it all out.)
AviSynth aside, the google search keywords you want are "timelapse deflicker". There are myriad plugins for just about any editor you might be using, such as ReelSmart Motion Blur.
There's another option though. This is the one I use, mostly to achieve smoother timelapses, but also as a side-benefit reduces the strobing effect you describe and I've also struggled with: Rather than taking photos at some interval and then combining into, say, 24fps - I shoot the scene as a very long normal (e.g. 24 or 60 fps) video, up to 4 hours with my particular equipment. I then iteratively overlap frames in post, which compresses time in a very smooth and natural way. For example, the first pass overlaps frames 1 and 2, 3 and 4, etc. Then I take that output and do the same thing again, which has the effect of evenly overlapping frames 1-4, 5-8, etc. This way, the footage speeds up 2x, 4x, 8x, 16x, etc. The final playback speed can be different than the original, of course, resulting in a different final multiplier.
This can be done with AviSynth trivially easy (in memory without intermediate files and iterative encoding losses). That is, if it doesn't "run out of memory" as noted earlier. It can also be done with, say, Premiere. (Note that for the Premiere, simply speeding up the video with the "overlap frames" option, doesn't exactly do that and the results aren't nearly as good. It can be fairly easily tricked into doing that though, also without intermediate files, it just takes more manual intervention.)
Another tip, I also run an artificial motion-blur pass on the original footage first, before iteratively combining them. (With a simulated "360 degree" shutter blade for continuous motion blur.) This avoids the "splayed deck of cards" appearance that can result with this approach, when subjects and/or the camera moves rapidly. This can also produce smoother results for photo timelapses, but only if the motion is slow and/or subtle. (If too great, the artificial motion-blur looks bad and...artificial.) If you shoot in 60 fps originally, it significantly reduces motion-blur artifacting (technically by "250%" vs 24 fps). But is obviously more of a strain on equipment capability/capacity.