One of the thing that should be considered is how to do something indefinitely. Android guarantees that any foreground related thing like activity or foreground service wont be killed. So having a foreground service which wraps GPS stuff could be good solution.
Or a foreground service(same above) could be triggered by alarm manager, then does the required GPS stuff, finally sleeps again until next tick.
The key thing for you is being on foreground. So it will be cure for location background limitations and to not be candidate to be killed.
I just gave foreground service and activity samples for being alive. So the minimum invisibility for you is having a foreground service has notification.
Yes that's possible, setting up an alarm to work periodically. But one thing again, when device wakes up due to your alarm, android will give you short time to do something, because it'll continue sleeping.
But this short time maybe be won't enough to make request and receive for locations. App has to hinder the device from sleeping
https://developer.android.com/training/scheduling/wakelock#cpu
Android - periodically wake up from standby mode?
https://developer.android.com/training/scheduling/alarms
And finally, alarm manager, foreground service are able to do things(from your perspective) when display is off, if the app fulfill the requirements above