Hard drives are too cheap to bother doing what you are asking. Once the drive has been physically damaged (as implied by the cause and effect you list above) it can no longer be trusted and will only get worse with time.
Replace the drive. If your data has any value to you (which it should if you are bothering to put it on an external drive) then just get a new bare drive and drop it into your existing case.
It's only implied, I don;t know whether it's damaged and would like to find out.
Some free software to check vs money is worthwhile at least to start with.