Sounds like a homework problem.. :) Depending on the the data rate a standard RS232 protocol works. Read up on it, and understand what the Start and Stop bits are used for.
Metastability is still a problem, but this can be minimized by having a mulitple register stages at the input so by the time you "read" the data, you know it should be stable.
As long as your data rate is much slower than your internal clock rate, you can then detect the edge of the start bit, and find the approximate center of the bits, then use a this to sample each bit at it's ideal center.
Pete