[Xiaomi Mi 5s Plus ROMs, Kernels, Recoveries, & Oth] v0yAgEr:
I had issues with my GPS too, and it's gone now (knock on wood).

I'm not really sure, but it's possible that the cure to the problem was a firmware update I bothered performing, and I'll explain:

When you flash an official Xiaomi Fastboot ROM, you flash tons of other stuff besides just the regular 'boot', 'system', 'recovery' and 'userdata' partitions (just take a look at the *.bat files inside the ROM, and you'll immediately see).

For example, one additional thing I noticed gets flashed is the baseband's firmware - the modem partition.

So I'm not sure what's related there to the GPS (if any), but it's definitely worth a shot to update all these things Xioami provides inside the Fastboot firmware.

Just download the latest Global Developer Fastboot ROM for the Mi 5s Plus from MIUI website, and then use one of the *.bat files to update your phone.

Notice: Don't use flash_all batch file unless you want your user data prtition erased!!, instead use flash_all_except_storage, or even better, use this:

(it's the same as flash_all_except_storage, but without flashing recovery, boot and system partitions - see the REM lines...)

fastboot %* getvar product 2>&1 | findstr /r /c:"^product: *MSM8996_B7" || echo Missmatching image and device
fastboot %* getvar product 2>&1 | findstr /r /c:"^product: *MSM8996_B7" || exit /B 1
fastboot %* flash xbl %~dp0images\xbl.elf || @echo "Flash xbl error" && exit /B 1
fastboot %* flash tz %~dp0images\tz.mbn || @echo "Flash tz error" && exit /B 1
fastboot %* flash tzbak %~dp0images\tz.mbn || @echo "Flash tzbak error" && exit /B 1
fastboot %* flash hyp %~dp0images\hyp.mbn || @echo "Flash hyp error" && exit /B 1
fastboot %* flash hypbak %~dp0images\hyp.mbn || @echo "Flash hypbak error" && exit /B 1
fastboot %* flash rpm %~dp0images\rpm.mbn || @echo "Flash rpm error" && exit /B 1
fastboot %* flash rpmbak %~dp0images\rpm.mbn || @echo "Flash rpmbak error" && exit /B 1
fastboot %* flash aboot %~dp0images\emmc_appsboot.mbn || @echo "Flash aboot error" && exit /B 1
fastboot %* flash abootbak %~dp0images\emmc_appsboot.mbn || @echo "Flash abootbak error" && exit /B 1
fastboot %* flash pmic %~dp0images\pmic.elf || @echo "Flash pmic error" && exit /B 1
fastboot %* flash pmicbak %~dp0images\pmic.elf || @echo "Flash pmicbak error" && exit /B 1
fastboot %* flash devcfg %~dp0images\devcfg.mbn || @echo "Flash devcfg error" && exit /B 1
fastboot %* flash bluetooth %~dp0images\BTFM.bin || @echo "Flash bluetooth error" && exit /B 1
fastboot %* flash cmnlib %~dp0images\cmnlib.mbn || @echo "Flash cmnlib error" && exit /B 1
fastboot %* flash cmnlibbak %~dp0images\cmnlib.mbn || @echo "Flash cmnlibbak error" && exit /B 1
fastboot %* flash cmnlib64 %~dp0images\cmnlib64.mbn || @echo "Flash cmnlib64 error" && exit /B 1
fastboot %* flash cmnlib64bak %~dp0images\cmnlib64.mbn || @echo "Flash cmnlib64bak error" && exit /B 1
fastboot %* flash modem %~dp0images\NON-HLOS.bin || @echo "Flash modem error" && exit /B 1
fastboot %* flash dsp %~dp0images\adspso.bin || @echo "Flash dsp error" && exit /B 1
fastboot %* flash keymaster %~dp0images\keymaster.mbn || @echo "Flash keymaster error" && exit /B 1
fastboot %* flash keymasterbak %~dp0images\keymaster.mbn || @echo "Flash keymasterbak error" && exit /B 1
fastboot %* flash misc %~dp0images\misc.img || @echo "Flash misc error" && exit /B 1
REM fastboot %* flash system %~dp0images\system.img || @echo "Flash system error" && exit /B 1
fastboot %* flash cache %~dp0images\cache.img || @echo "Flash cache error" && exit /B 1
REM fastboot %* flash recovery %~dp0images\recovery.img || @echo "Flash recovery error" && exit /B 1
fastboot %* flash splash %~dp0images\splash.img || @echo "Flash splash error" && exit /B 1
fastboot %* flash logo %~dp0images\logo.img || @echo "Flash logo error" && exit /B 1
REM fastboot %* erase boot || @echo "Erase boot error" && exit /B 1
fastboot %* erase sec || @echo "Erase sec error" && exit /B 1
fastboot %* erase switch || @echo "Erase switch error" && exit /B 1
fastboot %* erase mdtp || @echo "Erase mdtp error" && exit /B 1
REM fastboot %* flash boot %~dp0images\boot.img || @echo "Flash boot error" && exit /B 1
fastboot %* flash cust %~dp0images\cust.img || @echo "Flash cust error" && exit /B 1
fastboot %* reboot || @echo "Reboot error" && exit /B 1

After you do that, feel free to flash latest version of LineageOS and GApps.

Let us know whether it made a difference! (Or if anyone else can shed some light on the subject, go ahead!)

v0yAgEr.