Processing orders are automatically sent as soon as payment has been successful. I’m not sure of a way to stop that.
You can mark an order as ‘completed’ when you’ve shipped it, which will send a shipment email to the customer. You can customise the wording of these emails.
If emails aren’t being received, try the Mandrill plugin. We use this because no emails from WC were being received, but this quickly and easily fixed the problem.