For increasing reliability of the built in app, you can go to settings, advanced, and verify you have a delay set. That will prevent momentary changes like the one for 2 seconds that you describe.
The other thing is to make sure you have ALL power saving options disabled for hubitat. You did not mention whether you were IOS or Android. I am android.
Settings -> Device Care -> Battery -> Background Usage Limits -> Put unused apps to sleep is off.
In addition I added the below to Never Sleeping Apps (They have been since I got the phone)
-Hubitat
-Google play Services
Settings -> Device Care -> Battery -> More Battery Settings -> Adaptive Battery is off
In Settings -> Device Care -> Memory under Excluded apps, I have Hubitat and Google Play Services there as well.
In Settings -> Device Care -> 3 Dot Menu - > Automation, I have Auto Optimize Daily turned off (as well as all other options on this menu)
In Settings -> Apps -> Hubitat -> Battery, it is set to unrestricted. I also have no Permissions denied, Location at always, physical activity and camera while using app.
In Settings -> Apps -> Google Play Services -> Battery, it is set to unrestricted. Location all the time and also no permissions denied.
I went through each of these settings and toggled them off then back on trying to fix it. I also force stopped the app (hubitat), cleared cache, and restarted it.
For Geofence settings (in Settings->Advanced on the hubitat app) on both phones,
-Send presence only in motion is off.
-Validate location on network change is on
-Delay Exit is on: 2 minutes
Also in android, there is a way to keep the app opened.
Open the hubitat app, then go back to the home screen.
Open the recents, and scroll to the instance of hubitat on the task changer. Tap the icon for the app in the top of the screen. In the drop down, select "keep open". You will see a lock on the bottom corner of the app in the changer now. That leaves the app running in the background.
Lastly, (again only for android), I use tasker to toggle presence on a virtual presence indicator as a backup. That virtual presence is
from the "combined presence" app available in the Hubitat Package Manager.
All of the above has my presence at about a 99% accuracy. The only time I get failures now is when my phone gets too close to a magnet and scrambles the compass settings.
If you use a magnetic mount or case with a magnetic closure, your compass will keep decalibrating and causing all kinds of issues with location settings. There is an app on the play store called GPS status that will show you the status of your compass calibration. If it is red or yellow, you can recalibrate it back to green. Almost every single time my presence went haywire, it was because my compass calibration was red. Also, if you pull up the calibration, and it is green, you can put it close to a magnet and see how that trashes the calibration in seconds (I did a video of that, but not sure how to attach videos to a comment)
GPS Status