What you're seeing is probably typical of .mid files made by playing on a MIDI device. We've had several threads looking for ways to "play into" notation, and the consensus seems to be that most of us can't produce very good notation that way.
Some of the scoring/notation programs allow you to set threshold values during real-time input, so that the program ignores, or rounds off, note time values to clean things up a bit; but I don' know of an easy way to run an existing .mid file back through one to accomplish this.
My usual procedure is to use the "notation conversion" from the .mid as a rough guide, and then just notate directly to a notation program by ear while listening to the .mid as needed. If it's not too bad, you may be able to just "edit" the score the .mid produces in a notation program.
Usually a first pass at merging a few of the little notes and ties will clean things up enough to give you something you can "detail" into passable notation, but that depends on how much "scmaltz" the player put into the recorded performance.