
In the journal edit window for a specific character, have a variable-length list (like the macros in the system tab) of stored values for that character.
When writing a macro, you can rever to the stored value as $ .
Example: I navigate to the tab of my character, and add a stored value for "Str" equal to +3. When I write a macro that rolls #attack: /r 1d20 + $Str, it will retrieve that stored value.
This way, when my character has Bull's Strength cast upon him, I don't need to modify all of my macros, I can just modify my stored value.
Even better if you can use an assignment operator on the stored value in a macro, for example: #BullsStr: /set $Str = $Str + 2.
Stored values get pulled from whichever character you are currently "speaking as" in the chat window.
EDIT: Whoops, it seems that other people have started similar suggestion threads. Oh well. I hope this one stands on the specificity of its syntax.