I can't offer advice based on experience as I am about to offer shirts for sale at my first event next weekend (worry, worry, biting of nails). However here is a few thoughts...
Do you have any orders for your shirts so far? If so that should give you a good idea of the size and colour spread.
If you don't already have orders, are you planning on taking your designs to shops and selling them or are you intending to sell online? If you are selling to retail stores the store owners will tell you what sizes and colours they want to stock, in which case you would only need a sample of each design and then you could get the required number/size/colour printed once you have definate orders.
If you are planning on selling online then a lot is determined by your tshirt supplier, what is their MOQ? Personally I would look at limiting yourself to two or three colours and buying a greater number of shirts in the middle to larger end of the size range and only one or two shirts in the smaller end. My thinking here is that not many people like wearing tight shirts but lots of people are happy to wear a bigger shirt if they like the design.
I am attening an event next weekend and I am lucky in that I know roughly how many people will be there. I made a guestimate of sales based on that. As for colour I have gone for black, white and red. Black and white as they are basics and red because it is worn by boys and girls (my shirts are aimed at kids rather than adults) and also because if they don't sell I have something else in a couple of months that only requires red t-shirts. I wish I could afford to offer a greater choice of colours but it is one small step at a time.
Hope my thinking helps you. I'll let you know how accurate my guestimate on sales, size spread and colour was after the event.