I have worked on teams that followed a variety of methods, and the best route depends on how the team uses velocity. In an optimal setting, I ask my teams to accept zero points for the story and carry it over to the next sprint. The velocity for the current sprint will be lower than expected as a result. The story is not re-estimated, but the team knows that it will take less effort than estimated if any work was done on the story in the previous sprint. The team adjusts the scope for the next sprint accordingly.
The team also discusses the carryover in the retrospective and determines if it is a result of actions that need to be adjusted in the next sprint. No further action is required in many cases. If incomplete stories become a trend, the team discusses the contributing factors and makes adjustments, such as breaking stories down further, adding spikes, or handling roadblocks more effectively.
Finally, I work with my clients to help them understand what has happened and what to expect. Sometimes, my clients get concerned when they see a velocity drop, and I explain how the trend will be addressed.