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. Maybe 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 in the prior iteration was X and the unfinished story was worth Y points, move the next (X-Y) points into the current iteration. Alternatively, you could use Yesterday's Weather and base the velocity of the upcoming iteration on the average of the last few completed iterations.
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 before the iteration ends. Or, depending on how much work needed to complete the story, you might finish on time. If you finish all points at the end, 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 iteration, beginning design and implementation, 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 meant 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 iterations, but your retrospectives can explain why it happened and what you are doing to correct it for the future.