Perhaps, and I don’t know code-wise how feasible this might be, but could there be a way to have a chance to “cross over” buildings into other areas? The way I’m picturing it, say you have a residential sector but there’s a maybe 3-5% chance one plot within the sector initializes as another sector type. That way you might find a hospital inside a residential zone or a church in a business sector, etc.
Again, I don’t know how easy that would be to code in, but it would mimic a lot of older cities, where a church/cathedral was build decades ago but as time marched ever forward, malls popped up around it, a bunch of land was bought up nearby and an airport was constructed. Now you have this structure that’s completely out of place simply because it stood the test of time.