There is a major effort going on over at GitHub to fix Marlin bugs. The bug you mentioned about the firmware thinking end stops are triggered when they are not is getting a lot of focus. It probably is at the root of some of the 'Air Printing' that people have seen.

Any way... My advice would be if you can live with it for a for a couple of weeks... Soon, there should be a much more stable version of Marlin available. I think a lot of the 'unexplained' behavior is going to just disappear.