This has to be done on a new null, because you need the outcome to be in global space. So get a new null, and position constrain it to the effector in the chain. Leave the new null without a parent (global and local are the same). Then plot the animation of the new null. Now set up the rig the way you want it and transfer the new null's animation to the controller.
You may have a problem with the placement of the elbow. Unfortunately this is little more manual, but, I think, still worth it. Before doing anything with the plotted null, repeat the same procedure with another null at the elbow. There a several ways to use this new null at the elbow:
1) As a reference. When you get your setup to be the proper way(with an upvector), animate the upvector control to put the elbow in the right place and create keys at desired frames, until the elbow closely matches the plotted null. Of course you would do this after you had the controller for the arm moving.
2) A little messy, but quicker...Just this time to save your work. Put a controller at the elbow used only to save your old animation. Position constrain the controller to the plotted null for the duration of the animation. Plot keys for the controller at desired frames and then delete the plotted null. this leaves you with an animated controller at the elbow. Now you can toggle the constraint off at the right time for the IK to take over, and just never use that controller again.
This sounds like a lot of work, but it isn't. And it's good practice.
Hope this helps,
-Rafe