I do not think 5 nights in Ubud is too long. If you don't like beaches and swimming then what else could you do in Bali? Places like the Maldives cry for Bali's spiritual heart.
http://backpackerlee.wordpress.com/2...heart-of-bali/
There is so much to do in Ubud, that in my opinion it is debatable if you can fit everything into 4-5 days. Some of the more touristy things like the zoo and the bird park will take up nearly a day by themselves.