I don't get your key concern here - and I believe that there is a misconception. It doesn't matter how you will structure your site and subsites, traffic will remain as high as it is now, it could even make a small jump.
Let's look at an example: I am a seasoned user of your community and I really appreciate your (our) community. However, in recent times, I felt like there is no real place for my stuff to post. I felt that there is a small disconnect between my idea of content and the idea of content of other participators. So I asked you to take a investigate a little bit. You did and came to the conclusion that not only I am affected but other users as well. So you came back to me and told me that there (soon) will be a place where other fellow seasoned users and I can gather and talk about all the stuff we like.
So I waited for a while until you technically implemented a solution. One day, it's ready to be unveiled. So you do. I'm very glad that you introduce subcommunities and soon I find myself visiting the subcommunity more often than the main site. The subcommunity is still steadily growing, but eventually it stagnates. So, I come back to the main site and ask about it. Well, I'm told that a community needs time, so basically I'll stick to the main site a little while longer and hope that there is a solution sometime soon.
This is a (temporarily) failed scenario in the view of Community Building, but is it a fail in the view of advertising? No, it's not. Traffic should remain the same as long as your subcommunities are hosted at the internet presence. Earlier I stated that your traffic could even gain some nifty percentages. This is because users, who are desperate to communicate with folks who are like-minded, are more likely to visit your site and subsites more frequently due to the hope to find someone whom the user can community with. And if they don't meet like-minded users in your subcommunity they will return to the main community to express their agony. So, traffic shouldn't pose a big problem. Ads can easily relayed to your subcommunities and in the end your revenue should be around the same. The problem lays somewhere else.
Successful change is something that is slowly turning into tradition. Tradition needs to be valued and time to be established. So if you introduce several new communities at once, you can be sure that there is a disconnect as users don't have enough time to value each community separately. Having this in mind, I recommend to not use the second method. Giving such crucial power to a community that seeks change will turn over quite a few things. However, I also recommend to not use the first method. You might be the community leader but a very good community is built onto the participation principle, meaning that everyone should have a say in matters that change the community in a lasting way.
So instead of taking either way, we will just combine both and restrict the momentum of especially ambitious users (at least temporarily). The users may decide which community is the most needed right now. However, they need to decide on a limited number of them and decide how deeply connected the main community and the new one are (what topics should be discussed where). This way you signalize to ready a path of change - it's not a path of sudden change (which sometimes is needed direly) but one of progressive change.
Right now is a good time to introduce the key concern of your question: it's not traffic but user engagement, activity and happiness. As I said, it's unlikely that you will lose a significant percentage of traffic but you could lose a significant amount of activity and happiness (you couldn't possibly be happy if the thing you desired most is not working out completely fine).
Combining both methods and temporarily restricting ambitious users could be exactly what you look for. This way the community itself can decide what is needed the most right now. After deciding and establishing it, you wait some time and look how it works. If it's working out fine, you can continue and let the community decide on the next matter.
Coming back to another important point, I believe that this one is the part where it could be very difficult to yield a satisfying result. While you want to give everyone a place where he can do what he likes the most, you also don't want to lose engagement on your main community as this one is the one you're (at least right now) representing yourself with to the internet. So it's mandatory to somehow connect your main community and your subcommunities. I think @Andys idea is very appealing, however it might not be enough.
While exchanging content between sites can motivate some users to join several subcommunities, it hardly motivates to return to any site more frequently than your own subcommunity. One way to cultivate your main site is to establish periodical events that are only and exclusively hosted on your main site. For example, you can host the "Community Improvement Event" where users return to your main site and propose idea to improve your community. Another idea is to host real life events that connects your community - and which can only be visited if you are active on the main site. Yet another idea is to take away all active power of the subcommunities (power to change the community actively, as implementing new technical things or redesigning some parts of the community) and place it onto the main site. This way the leaders of your subcommunities and the users are forced to come back to your main site to change their own community. (However, the last approach might be doing more bad than good - nothing is more irritating as a pseudo subcommunity which is a community that not truly is a subculture but rather a slave to the main community.)
The conclusion is to slowly establish changes and see how they work out. The next thing is to connect subcommunities and the main community - and after this is done you can go on and make changes periodically. The community will adapt to your pace and most likely will appreciate that they actively have a say.