Another option is to print it using a good inkjet printer. You need to use what is called a T-Shirt Transfer Paper. Once the print is done, you need to put it below the T-Shirt and Iron it from the other side, the print moves from the paper to the t-shirt. This is theory, not actually used in practice.
It has been done in practice. Prasanta Baruah and others at HBCSE has done it, although it needs to be done with outmost care, it is posible to get reasonable results. The ink also does not go away very easily.
Obviously for better results, get it embroidered. No idea if that is possible or not, but theoretically it should be.
Cheers, Debarshi