I'm going to weight this thread more towards the math side here. TL;DR: More math.
Without using code, you can get the E(X) (aka average draw) with some easy math. Following a very similar problem on this site:
http://math.stackexchange.com/questions/75968/expectation-of-number-of-trials-before-success-in-an-urn-problem-without-replaceWe can simplify the summation down to
1+a/(p+1) where a = actions in deck and p = non-actions in deck (this is without the spy effect). Now, we can add the spying-effect by saying that
p/t times (where t = a+p is the total cards in deck), the spy-effect finds a non-action card and
a/t times it doesn't. So we get to
p/t*(1+a/p) + a/t*(1+a/(p+1)). Using the same set of cards as before:
6 actions
not including Scrying Pool, 11 non-actions: 1.53 average cards drawn (1.50 without spy effect)
7 actions
not including Scrying Pool, 11 non-actions: 1.62 average cards drawn (1.58 without spy effect)
8 actions
not including Scrying Pool, 11 non-actions: 1.70 average cards drawn (1.67 without spy effect)
9 actions
not including Scrying Pool, 11 non-actions: 1.79 average cards drawn (1.75 without spy effect)
10 actions
not including Scrying Pool, 11 non-actions: 1.87 average cards drawn (1.83 without spy effect)
11 actions
not including Scrying Pool, 11 non-actions: 1.96 average cards drawn (1.92 without spy effect)
12 actions
not including Scrying Pool, 11 non-actions: 2.04 average cards drawn (2.00 without spy effect)
13 actions
not including Scrying Pool, 11 non-actions: 2.13 average cards drawn (2.08 without spy effect)
14 actions
not including Scrying Pool, 11 non-actions: 2.21 average cards drawn (2.17 without spy effect)
What I don't take into account is current discard and deck size. If you only have 1 card in your deck that is a non-action and you discard it, the spy-effect does not help because it shuffles the non-action right back in. The equation gets more complicated with every caveat, but I think the first equation without the spy effect is simply enough to use when you need it