In my unity game I implemented something similar, but did not have to create any complex partitioning due to the fact that my game is a rather simplistic 2D design. I structured my loading/unloading of the world based on the way the map flowed in my overhead game. Basically, I use bounding boxes to know when a player is near the point in the world where we'll have to load a chunk of the map or when they leave an area and we can unload it. In one of my blog posts I have a (rather large filesized) gif at the bottom demonstrating the loading.
http://pixelpolishgames.com/node/27I can offer a few pointers or lessons learned that you can keep in mind while implementing your approach:
1) I broke up my specific map chunks into their own scenes and reparent the contents to my master scene once loaded. When the player is deemed far enough away, the top level game object gets unloaded (which removes all scenery) and any transient game object (like a chasing enemy) will get reparented correctly so they don't get removed because their original map chunk was cleaned up. That's all pretty specific to my implementation, but hopefully that gives you some ideas.
2) I originally wanted to have prefabs for my map chunks so I could avoid multiple scenes, but learning as it is I didn't know at the time that prefabs inside prefabs aren't a thing and you can't really do that in unity.
3) I don't recall the specific function name I use to load my scenes, but I do know that I'm using the async version. Once it is loaded, the handler will reparent all game objects into the master scene and I dump the old scene.
4) And lastly, I found that it also suffered from a split second stutter and though I don't have the link, I found in my research that this is a common issue when running the game in the editor. I didn't find a work around. But I did do a test and ran the compiled game to see if I still had the stutter and was happy to find that it did not exist where it mattered most.