[Miscellaneous Android Development] agnostic-apollo:
alas...

you are supposed to run rclone mount command to some dir outside the .../runtime/.../emulated/* directory like inside /mnt/grdrive and then run "mount -o bind" commands from /mnt/gdrive to all 3 runtime dirs

I have written a few bash scripts and tasker projects that handles all this safely... the bash scripts can be uploaded in a day or two, have to do some testing and write documentation... let me know if anybody needs them... testers would be helpful actually...

For now, try following the following...

hopefully it should help and work for you, working for me. I haven't tested the android version <6 code but it should work...

###rclone mount commands must be run from global mount namespace, otherwise mounts will not be seen outside the terminal/shell and you will get empty directories in other apps
#check if you are in global namespace
[[ "$(readlink /proc/1/ns/mnt)" == "$(readlink /proc/self/ns/mnt)" ]] && echo "using global mount namespace" || "not using global mount namespace"

#If not, then in your superuser app, disable mount namespace separation or enable global mount namespace and reboot device
#SuperSu Settings -> Uncheck "Mount namespace separation"
#Magisk Settings -> Set "Mount Namespace Mode" to "Global"

####mount
#remount android rootfs as rw
mount -o rw,remount /

#create main mount point
mkdir -p "/mnt/rclone_gdrive"

#run rclone mount command
rclone mount --daemon --allow-other "gdrive:" "/mnt/rclone_gdrive"

#create bind mount points so that all apps can see remote
#create bind mount point directory and set permissions
mkdir -p "/data/media/0/rclone_gdrive"
chown media_rw:media_rw "/data/media/0/rclone_gdrive"
chmod 0700 "/data/media/0/rclone_gdrive"

#run bind mount commands for android version >=6
mount -o bind "/mnt/rclone_gdrive" "/mnt/runtime/default/emulated/0/rclone_gdrive"
mount -o bind "/mnt/rclone_gdrive" "/mnt/runtime/read/emulated/0/rclone_gdrive"
mount -o bind "/mnt/rclone_gdrive" "/mnt/runtime/write/emulated/0/rclone_gdrive"

#run bind mount commands for android version <6
mount -o bind "/mnt/rclone_gdrive" "/data/media/0/rclone_gdrive"
mount -o bind "/mnt/rclone_gdrive" "/storage/emulated/0/rclone_gdrive"

#remount android rootfs back as ro
mount -o ro,remount /

#note that
#android version >=6 uses runtime permissions model and hence there are runtime mounts
"/data/media/0" is the main ext4 filesystem which is emulated/mounted on "/mnt/runtime/{default,read,write}/emulated/0" and "/storage/emulated/0" using sdcardfs filesystem
#apps can only see the "/storage/emulated/0" depending on the permissions the app has
#bind mounting on all 3 runtime directories may be necessary depending on the device
#in my LG G5 7.0, it is necessary, and bind mounting on "/mnt/runtime/default/emulated/0" automatically creates the mount on "/storage/emulated/0"
#if that isn't being created then manually create it
#for versions below use install-time permissions model and there are no runtime mounts
#instead "/data/media/0" is just mounted at "/storage/emulated/0" using fuse filesystem
#the "0" indicated the user "0"

###unmount
#kill rclone mount command
pgrep -f "rclone mount .* /mnt/rclone_gdrive.*" | xargs kill

#run mount command to check all active mounts
mount

#if "gdrive: /mnt/rclone_gdrive" is still listed, it means rclone mount command quit with unmounting it
#this could be because some process like your file browser was using the mount point when rclone mount command was killed
#try unmounting main mount point manually
umount "/mnt/rclone_gdrive"
#you may get target or resource is busy errors
#run fuser to kill all processes using mount point
fuser -mks "/mnt/rclone_gdrive"
#then unmount
umount "/mnt/rclone_gdrive"
#if instead you got transport endpoint not connected errors
#then lazy unmount
umount -l "/mnt/rclone_gdrive"
#invalid arguments errors would mean that mount point is not mounted

#unmount all bind mount points for android version >=6
umount "/mnt/runtime/default/emulated/0/rclone_gdrive"
umount "/mnt/runtime/read/emulated/0/rclone_gdrive"
umount "/mnt/runtime/write/emulated/0/rclone_gdrive"

#run bind mount commands for android version <6
umount "/data/media/0/rclone_gdrive"
umount "/storage/emulated/0/rclone_gdrive"

###refresh rclone mount point so that any changes in remote can be seen
#sending SIGHUP to rclone mount command makes it drop all caches
#otherwise changes appear after cache timeout is over
pgrep -f "rclone mount .* /mnt/rclone_gdrive.*" | xargs kill -s SIGHUP