I have spent quite a while attempting to automate guitar patch changes within ableton live using clips.  and have encounted all sorts of problems.  Anywho, I have it working but it is limited.  Hopefully this will save you some time.  (edit) This blog shows two ways of doing this one has a problem depending on how you use abelton live, where occasionally the patch change you think is being sent isn’t, this is described in Solution 1, Solution 2 is a workaround so that the program change message is sent at the time I want it not any other.  I would be interested to hear your experiences in case I am missing some thing!!

Solution 1

Firstly Bank and sub-bank select do not work as you may expect within guitar rig.  Ie. they dont work!

Sounds are tagged as preset attributes and if you send a bank select message it will deselect the preset attribute.  In other words preset attributes do not correspond to banks in the traditional midi way.

So you can only send program change messages, do not send bank select messages.  Select within the guitar rig GUI the preset attribute of the sounds you want to move through, better still tag all the sounds you want to use with your own preset attribute.  Once you have selected that preset attribute, send program change messages, without specifiy bank select, or sub bank select.

Here is a super duper quick guide: (Edit this works but not consistently)

So set up a midi channel, add some clips to it to change patches:

Set up an audio channel add guitar rig MFX (m is for midi), then route the output of the midi patch change channel to guitar 
Make sure within GR you have the correct preset attribute selected, unfortunately you need to do this every time the song is loaded, Guitar Rig does not remember this selection, this is a known bug, I spoke to Native Instruments about it.
Solution 2
Ok so now you have done all this, it may work for you, however there is a problem with the way Ableton live handles program change messenger.  if you press stop at some point and then click play on a clip or scene, for some reason Ableton transmits both the program change message of the clip that was stopped (!) and then message of the clip you have just intended to play.  This has the effect in guitar rig of not changing the patch, clearly a fail.  Now it seems to work fine for sending messages to my ultranova though.  I discovered this using midipipe to analyses the midi that is being sent.  
here is a work around, but it is a bit of a pain:
1) Add three midi tracks, one for the automation messages which will be notes, one to convert the notes into program change messages and one to route the midi signals to the required destination
2) download an install midiconvert3 http://www.thepiz.org/plugins/?p=pizmidi, we are going to convert midi notes to midi patch change messenges, this will give us the control to send these patch change messages when we want, and stop ableton sending messages of old clips when we stop playback.
3) Put midiconvert3 on one of the midi tracks, set up as follows, input type as note on, output type as program change
this is a vst instrument, so it forces ableton to give an audio output, therefore use one of the other channels to route the midi to its require destination
4)Add clips with a note where you want to change program, so C-2 is equivalent to sending a program change message of 0, turn monitor input on for the midiconvert3 channel and the midi routing channel and we are good to go!
I told you it was a pain, I have sent Ableton a message, to change their program change message, see if this is a bug.  Let me know of your expereiences if you have done something similar.