If you make the assumption that the default gateway will always be .1, you could push more-specific routes than /24. That should override the less-specific directly-attached /24:
Thankfully, if you have access to a Linux box, you needn't generate the list by hand:
anthony@Zia:~$ seq -f '192.168.1.%g/32' 2 255 | aggregate -q | xargs netmask -s | tr '/' ' ' | sed 's/^\s*/push "route /; s/$/"/'
push "route 192.168.1.2 255.255.255.254"
push "route 192.168.1.4 255.255.255.252"
push "route 192.168.1.8 255.255.255.248"
push "route 192.168.1.16 255.255.255.240"
push "route 192.168.1.32 255.255.255.224"
push "route 192.168.1.64 255.255.255.192"
push "route 192.168.1.128 255.255.255.128"
This won't let you access your 192.168.1.1, if you need to do that as well, you'll probably need to root the phone, and use the Linux policy routing tools.
You could also have your remote VPN gateway do a 1:1 NAT translation, so that you can access 192.168.1.1 as 192.168.255.1 (etc.) as well. Then you pick whichever works on the network you're on.