Hey Colton,
Please don't mind my spelling and grammar mistakes, English is not my first language

Well yes, I wrote a script with Pyton's Beautiful Soup to scrape the data from the mock draft pages. While this is the long-term solution that makes things automatic, I had just a few days to put the whole thing together. And these websites are usually coded terribly, are a bit tricky to scrape. Also I had to add some extra mock drafts suddenly, the clock was ticking. So for now, it is half script, half manual. But for the 2015 draft it'll be full automatic collecting the data from about 25 mock drafts and running some math on its own.
Unranked players gave me some headache. The problem is some analysts did not publish their second round picks. Then I first thought about calculating the averages assuming an unranked player is picked #35 if he is not in the top 30, which would be pretty close to his actual ranking if they published the 2nd round. Then I can't just show 35 in the sortable column of the respective mock draft. This is ugly. Besides ignoring is not that bad if you think about it. I mean my player made the top-30 and usually has something like 17,21,24,20,22... then unranked. so 31 as you say, or 35. This particular mock draft is misbehaving a bit, don't you think? There are statistical models that eliminate black sheep in such cases. I did just that. Well in the end I simply decided to revisit this matter another time.
In your original post you mentioned IRV which seems to take care of this problem elegantly. There is even a
Python script doing just that, might help solve unranked players problem.