There are a lot of reasons for an unfinished story. Perhaps it was poor estimation, and more work was needed than the team thought at the beginning. Perhaps it was too large and should have been broken up into smaller stories. Perhaps a team member had to take an emergency leave, leaving the team with fewer contributing members for a day or two. It does happen from time to time, so you should be tracking why it's happening and taking corrective action if you can. That's something to discuss at your retrospective meetings and postmortems.
So, now, you have an unfinished story. That means you didn't get any points for it in the iteration that just finished. Assuming the priority of the story hasn't changed, it gets moved into the next iteration. Since your velocity for the previous iteration was lower, you now take fewer points into the next iteration. If your velocity for the previous sprint was X and the unfinished story was worth Y points, move the next (X-Y) points into the current iteration.
You now have a full backlog that you will be working on for your iteration. However, one of the stories is actually partially completed. One of two things could happen. You might finish all of the points early, before the sprint ends. Or, depending on how much work had to be done to complete the story, you might finish on time. If you finish all points at the end, you're good - just calculate your velocity and plan the next iteration. However, if you finish early, you have a few options. You could move another story into the sprint, beginning design and implementation of it, with the understanding that it might not be finished. Or perhaps you'll give your team some time to do corporate-mandated training. Or maybe just do some refactoring or write a few extra test cases that you've been meaning to get to, but weren't a high enough priority to do.
In the end, don't worry about skewing velocity. It's all about using your time appropriately. Velocity normalizes over time. You might have deviations in different sprints, but your retrospectives can explain why it happened and what you are doing to correct it for the future.