Jakub again here. This is great; thanks for your comments. We try to have a very pragmatic approach and believe that room beaconifying procedure should be extremely simple, so mobile developers can concentrate on domain specific challenges regarding their use-cases.
Thus, ref (a) it is as simple deploying few beacons in the room (see this video: https://www.youtube.com/watch?v=wtBERi7Lf3c) The floor plan and location of beacons is calculated automatically and once you save the room in the cloud you or other people can access calibration and build location-aware apps. There is also no specific training requirement.
The advantage of using BLE beacons over WiFi or ZigBee is the fact they are natively integrated with mobile operating system s (e.g. via iBeacon protocol for Apple), so a smartphone can perform calculations in the background without any user intervention - frictionless applications are possible.
Depending on the method used, the limitations arise from (a) needing to know ground truth location of beacons; (b) any necessary training steps; (c) multipath issues; (d) synchronization; or (e) other non-ideal RF artifacts.
You can also combine multiple sensor measurements over time (eg. a person's path) using bayesian inference techniques (ie. particle filters) to further improve location accuracy.
(This topic is related to my PhD thesis: mobile robots finding and interacting with long-range RFID tags in homes. Many of the techniques are akin to radar: http://www.travisdeyle.com/research.html)