Evolution is -no doubt- the solution for you. It syncs the calendar with Google services and certain services with Ubuntu One (like the Contacts). Unfortunately it seems that Ubuntu One doesn't provide support for syncing calendars yet.
Evolution's calendar provides enough tools for continuous/recursive and/or repeating scheduling. You can include as many local/remote calendars as you wish, which includes but not limits only to Google Calendar. Evolution's daily/weekly/monthly/yearly report will solve your needs for a schedule preview.
If you are used to MS Outlook in Windows based systems, you will feel comfortable when using Evolution.
Evolution provides the same functionality as Outlook for Email/Calendar/Contacts/Notes/Tasks, etc.
Evolution syncs perfectly with certain mobile devices/PDA's which makes the portability of your data an easy task. I am -in example- using my Palm Tungsten E2 for syncing my Evolution data which syncs Calendar, Contacts, Notes and Tasks. (Palm Tungsten E2 doesn't provide support for eMail).
You can find Evolution in the Software Center and install it in a click. Tell us how are you doing with this task and don't hesitate to drop back a comment if you need further assistance.