We are developing an app that does #3 (Smarter Time) and manage it with a foreground service. The constant notification is slightly annoying for some users, but overall it works well and does not use too much battery (after tons of tweaks and optimizations)
I worked in dumb phone standards 12 years ago (GlobalPlatform) and it was actually in the standards to tell the user "you are in the secure zone". Well, OEMS in the western world were not really willing to implement it, funny it comes back now.
We are trying to do this at Smarter Time with 99% automatic tracking. We just launched our first version (on Android) so there are still some rough edges, but this is our end goal.
If you are interested, we are doing something similar at http://www.smartertime.com with an automated learning and update phase. It gives a "one click and forget" location system. All algorithms run on the phone, and the user only has to tell the app things like "this is my kitchen".