I have run into imperfections with the mesh using the subdivision surfaces modifier before, but they were usually caused by either doubles or edges that penetrate the mesh. I tried removing doubles at a merge distance of 0.010, I tried degenerate dissolve and limited dissolve ruined my mesh. I also tried the recalculate outside method. I've looked around online, but other people's imperfections were caused by things I had already tried to solve, which weren't the causes of my mesh's imperfections.
So everyone can try things out and see if their solution solves the problem, here is a link to the file I'm using:
Thank you very much for any help. :)
Knowing your problems may one day be resolved, it fills you with determination.