A who’s who of Cardassian officers and Bajoran collaborators (Darhe’el, for example) were persona non grata at best, and arrested to face charges of war crimes at worst. I can imagine that, if there were no specific incidents which could be linked to Gul Dukat, perhaps he and other Cardassian officials would be tolerated… But as he was the head of the occupation, I’m not sure this makes sense.
Is the best explanation that this is merely a matter of convenience to normalize relations between Bajor and Cardassia, or is there a plausible justification for his semi-frequent visits to DS9 and/or Bajor in the early seasons? What real historical examples are analogous to his relationship with the Bajoran (provisional) government?
Edit: ‘Bajor’ for the planet, not ‘Bajoran’
The political situation in the region is incredibly complicated - if Bajor is interested in prosecuting, they risk a renewed conflict with Cardassia, which neither they nor the Federation particularly want. On top of that, many Bajorans are skeptical of the Federation and its intentions, at least in the early days.
Plus…did Dukat ever “visit” DS9 (as in, physically board the station) without explicit authorization from the command staff?
Yeah, at least in the beginning, Dukat only ever lurked nearby, menacingly. The first time he set foot on the station was to help Starfleet deal with what turned out to be the beginnings of the Maquis, during a conflict in the DMZ. That was also incredibly complicated. (Edit: and everyone was pretty pissed that he was the one Cardassia sent).
Everything on DS9 was incredibly complicated. That’s why I liked it so much. 
“It’s just a station? That stays in one place? How can it measure up to the galaxy-spanning adventures of TNG?”
Three seasons later it had its hooks in me and wasn’t letting go.
Staying in one spot was an asset, it helped justify recurring guests and villains if everyone’s in the same neighborhood. There’s no way the Kazon should have been bothering Voyager after Season 1 if they had been making a bee line for the Alpha Quadrant.
Technically he did in “Civil Defense” when they accidentally triggered the counter-insurgency subroutines on the station. Although he himself ended up getting trapped on the station that was about to blow up so he was stuck helping them disable it.
Thanks for that - I thought of “Civil Defense” but couldn’t remember the exact circumstances of that pop-in.
The Bajor-Cardassia peace talks occur just six episodes later, so it’s easy to imagine that the peace process was well underway by that point.
And, of course, Dukat was there to “help”.
There was also the Federation-Cardassian peace treaty which preceded it, in which the “Cardassian punks fuck off” bit was negotiated and DMZ established.
Bjorans like to think that it was the gumption of the resistance that got the Cardassians to leave, and the Federation likes to let them think that (because telling them otherwise might piss the Bajorans off, and they deserve a win), but it was the Federation-Cardassian peace treaty that really got them to leave. That’s why any Cardassian you ask always says that they left for “political“ reasons. 
First time he steps foot back on the Station was in Cardassians when he’s there as a representative of the Cardassian government. Would have caused quite a stir if he was arrested then.
More of a stir than Darhe’el, who they were willing to arrest? (Though obviously that situation was much more complicated in light of who he actually turned out to be, it just serves as precedent)
Why they never arrested Winn? /s