Arcgis online has more stringent requirments for shapefile data than arcmap. Arcmap should therefore offer a validation and correction tool for shapefile data to ensure that it is compatible before uploading.
Arcmap already has a feature where you can publish directly to arcgis online, so this should be a part of that. Currently if you try to publish a non-compatable shapefile it will just error without telling you why or giving you the opportunity to correct the 'error'.
I am particularly frustrated as the files I have had issues with have all been from shapefiles or geodatabases created in arcmap, sometimes combined with spreadsheets (and on that note its about time arcmap was fully compatable with .xlsx instead of just .xls!).
Typical issues that I have exoperience include column headers not being able to include number characters (which is highly inconvenient!), and other bugs that have required me to re-export the data in arcmap for no reason that I, or the support desk can see. For those of yoou on the support desk please see ES121207 and ES121340.
One more thing; seeing as all the maps in arcgis online are all web-mercator, it would be really good if there was an option to have the re-projections properly handled by the publish feature, so that it could read the projection of the data in the shapefile in arcmap and convert it in the best possible way before sending it to arcgis online. I think this would be very useful and would save a lot of time and unnecessary messing about, and could surely be automated relatively easily.