TL;DR
Entities have Item Request Slots (typically used for Modules) which the bots fulfill. Add Entity Request Slots to request a new entity be placed directly on top of an existing entity.Why?
If you have a blueprint for Stone Furnaces and Yellow Belts, and an identical one except with Steel Furnaces and Red Belts, then placing the blueprint would make the entities check to see what was being placed on top of them, and if it is a direct change (belt to belt, smelter to smelter, inserter to inserter, and so on) then it would request an upgrade from the bot network using the Entity Request Slot. It should only work with entities the player can place over top of the current entity. For example you could not place a Steel Chest on top of a Medium Electric Pole, but you could place a Steel Chest on top of any other chest.This would allow for a series of blueprints to be made as upgrades become available. It would allow blueprints to be directly placed without needing to hold Shift to override conflicts, and the existing objects would request the new entity. Ghost Placement on top of a compatible entity could also be used to trigger the Entity Request Slot.
Also, since it's not deconstructing the entity, it can continue functioning while the bot brings the replacement. As the bot places the new entity it would receive the old entity to be sent to storage. Similar to how the entity would have jumped into the player's inventory when upgrading something, such as belts or assemblers. (This would allow the creater of the Upgrade Planner mod to massively improve the way the bot upgrades behave)