Vars must be replaced with double, not float. Replacing them with float would lose precision with large numbers, so thats the opposite of what you want. But I think double will work for all coordinate ranges without losing precision.
It wont be backwards compatible of course, but rewriting scripts for double vars should be not to difficult. Sometimes it could be tricky but in most cases the vars only need to be replaced with int, or with pointers, depending on what you do with them.
Its similar to the step from C-Script to lite-C.