I haven't much to do with Web-Development, but just an idea:
You could write/generate a redirect-Layer first like so:
Let's say you had three functions in System_A like this:
System_A.Call1(...)
System_A.Call2(...)
System_A.Call3(...)
Then you could rename the calls like this...
System_A.Call1(...) -> Old_System_A.Call1(...)
System_A.Call1(...) -> Old_System_A.Call2(...)
System_A.Call1(...) -> Old_System_A.Call3(...)
...and create a temporary redirect system like this:
System_A:Call1(...) { Old_System_A.Call1(...); }
System_A:Call2(...) { Old_System_A.Call2(...); }
System_A:Call3(...) { Old_System_A.Call3(...); }
This system could go live immediatly.
Then you could create your Refactoring classes bit by bit, test them and just change the redirection calls.
After refactoring is complete, you remove the redirection calls and just use the reafactored system.
The granularity of your redirection should correspond to the granularity of your refactoring. So if you refactor individual functions and the function signatures stay the same, you can use the approach as stated above.
If you completely redesign whole parts of your system, you could redirect the whole parts.
Example for web:
You have index.php which mainly calls 3 functions: header(), body() and footer().
You could either redirect the calls to header, body and footer (if the signatures stay the same), or you could redirect the whole thing and call only one function from your index.php like "currentIndexPhp()";
currentIndexPhp() would then initially call header, body and footer.
If you organize your folders and files accordingly, you should be able to control the refactoring quite nicely.