Just one comment/question: Was the following change in Android Oreo (API 26 onwards, but unfortunately relevant even if not coded against API 26 and higher) considered?
If I do read this correctly (and I am NOT and Android developer) a change in the application will be needed to make background mode working on Android 8 (Oreo) phones and upwards. Without a Foreground-Service all Android 8 and newer phone will make backgroud usage of apps that do need regular updates (here e.g. from GPS receiver) not work any more. Maybe this is even the cause for for my problems with the Huawei Mate 9 on Oreo (but that is just guessing).