A lesson that use of hyperbole always comes back to bite you. The Indian Navy definitely does not have the ability to guard the coasts of South Africa and Australia.
It is sad and unfortunate that the incident happened, especially the loss of lives of the Iranian sailors. My condolences and sympathies are with the families.
However, it is important to maintain perspective. The ship left India three days before the war started. Irrespective of the legality of the war and the fact that the IRIS Dena was completely outmatched, an enemy naval frigate is a legitimate target. Iran would also have tried to sink any American naval assets they could. When it was sunk, the ship was far from India's coast ,and probably trying to enter Sri Lankan territorial waters from the south to wait out the conflict and the Americans probably decided to take it out while it was still in international waters. The US Navy did not violate even Sri Lankan territorial waters, let aside Indian.
The Indian Navy had no obligation to protect a foreign naval vessel in the high seas. It would certainly have been against Indian national interest for the navy to have sailed south of Sri Lanka and a fought a naval battle against the US Navy to defend an Iranian naval vessel even if India had intelligence about what was going to happen. What happened is unfortunate, but no one from even the Iranian government has suggested India has any responsibility for the sad sinking of the ship and loss of life. In war, bad things happen.