Lousy architecture complaints aside: I have already requested "BatchGetAV" and "BatchHasPerk" functions for SKSE and received no real useful replies.
It looks like the proper way to implement this is to create a script object that "shadows"/caches the player character's actor values - maintains last known actor values and perks, and updates them on certain events. However, I have been unable to find a conclusive complete tutorial. I'm requesting a tutorial on how to do this to be posted here, or at least, a link to a tutorial that is known to work.
----------------------
Here's a general idea of how the actor value caching script would work:
-Script runs continuously in the background. It would be attached to the player character somehow and receive events from the player character (Looking for advice on this)
-It has several event handlers, such as OnLevelUp, OnItemEquipped, OnItemUnequipped, etc.
-The script maintains player perks, skill levels, resistances, etc
-Various events cause updates on some variables.
-Other scripts must be able to read variables out of the cache script.