From what I (mis)understood, a meta-bot would internally have "friended" other bots and user only adds the meta-bot and interacts with the meta-bot which then sends the queries to its friended bots. Though now that I think about it I probably did misunderstand it. :)
The proposition of allowing the user 'add' bots is also quite interesting but I've not given much thoughts to that.
The meta-bot could technically suggest what bots to install if it does not find an installed bot to perform a task. In the current world of bots I think this would be a more optimal approach rather than a true meta-bot to bot transparent communication.
Also take into consideration that a meta-bot should provide proper attribution to whichever bot it chooses to perform the task otherwise you open yourself up to copyright infringement or equivalent.
1. When a new bot is added, always use that bot first. This assumes that the user added it intentionally despite already having bots for that function.
2. If bots are ranked too closely, pick one at random.
3. If bots are ranked too closely, ask the user which to use. Have an option for setting that as default. If you have an Android phone this should feel familiar. This is how Android handles different apps that handle the same function (i.e. what app should open when you click the mailto link).