Hi,
To prevent shipped mail from being sent, you will need to disable mailing from the Shipped Order state Settings.
To automatically change the status when update the tracking number, you can make a module (or you can use an existing module), where you can use the actionAdminOrdersTrackingNumberUpdate hook, and change the status of the order.