Couldn't you just use separate Card Game objects?
"Could", yes; but unless I'm missing something, "just" is a bit optimistic. Keeping separate decks would indeed be easy that way, but I'm assuming here usually a game that uses multiple decks would want them shuffled together into one big pile. You'd have to do something like:
Check some flags to see which decks have cards left in them (and jump to the "No Cards Left" route if none have).
Generate a random number between 1 and (number of remaining decks).
Draw a random card from the chosen deck -- AFAICT there's no case switch statement and no way to pick an object based on the content of a variable, so this in itself is a whole christmas tree of ... I don't even know ... Compare events? Anyway, get that value and write it to a global variable; otherwise we'll have to write the deck-picking structure twice.
If the card is "-1", that means the deck had no cards left after all: update the flags and start over. Otherwise, we're done.
So, yeah, it's possible, but possible in a way that makes reimplementing the plugin in event code (or Python, once that's fixed) seem the easy option.