The best reference for generating function tricks and techniques is, of course, Knuth's Fundamental Algorithms (vol. 1 of TaoCP). Add your favourite tricks as additional writeups to this node or by /msging me. A convenient convention which I try to maintain is that the first generating function is
A(z) = a_{0} + z a_{1} + z^{2} a_{2} + ...,
the second is
B(z) = b_{0} + z b_{1} + z^{2} b_{2} + ...,
etc. (evidently, no more than 26 generating functions can exist).
 Shifting
 Trivial, but
z^{k} A(z) = z^{k} a_{0} + z^{k+1} a_{1} + ...,
so the generating function for {a_{nk}} is z^{k} A(z); this is chiefly useful in shifting more interesting results to have the general form above.
 Derivation (& integration)
A'(z) = a_{1} + 2 z a_{2} + ... + n z^{n1} a_{n} + ...
so the generating function of (n a_{n}) is z A'(z).
 Convolution

Multiplying power series is "easy" (if you don't worry about convergence  and we won't, here):
A(z)B(z) = a_{0}&sdotb_{0} +
z(a_{0}b_{1}+a_{1}b_{0}) +
z^{2}(a_{0}b_{2}+a_{1}b_{1}+a_{2}b_{0}) + ...
So if we define the convolution sequence c_{n} = a_{0}b_{n} + a_{1}b_{n1} + ... + a_{n}b_{0}, then the generating function for {c_{n}} is C(z)=A(z)⋅B(Z).
Note the exact parallel with Fourier transforms or Fourier series: convolution in the "time domain" is translated into the much simpler pointwise multiplication in the "frequency domain".
More to follow once (more) round tuits arrive!