You need to understand your overhead and then make sure you mark up your jobs with a high enough markup that will allow you to achieve a high enough gross margin to ensure you a viable profit.
Then you work hard to find customers that you can sell your work at those margins. If you have no sales training read a few sales books and try and incorporate some salesmanship when dealing with customers. This might allow you to better show the benefits for them when dealing with you.
In these types of situations when talking price with the customer try and shift the conversation to the total price in these situation, instead of just a per shirt dollar amount. If you are talking about the benefits of dealing with your company and the service you will offer it is better to justify only a $40 difference in their overall $160 "investment' then arguing about $2.00 per shirt.
You must realize that you need to work towards building your business with the required gross profit margins and not waste your time creating work and expense for yourself that would be unprofitable. The competitor that was $6.00 may have lower overheard and achieving his required GM, or maybe he just doesn't understand his GM and expenses and is slowly running himself out of business. Either way, it really can't be your focus. Your focus must be on building sales where you need to be.
Also by understanding your overhead and required margins, you will be prepared to know exact how low you can discount if is important to consider matching a price. Don't do it if the numbers don't justify it.
Lastly, I know how frustrating ans disheartening it can be to be excited about thinking you have a sale only to have a competitor low ball and steal it away. As hard as it is, try and remove your emotions from your decision making process. It is business and you need to know your numbers and make your decisions using logic not emotions. Getting in the habit of doing so will make it much less frustrating for you as you move forward (and more profitable).