How to get around the 10-character limit when converting from kml to shp with ogr2ogr

This is a known limitation of the .dbf files that accompany the shapefiles.

This among other reasons is why the shapefile format is being slowly phased out and replaced by more robust formats.

As I see it, the only reasons the shapefile is still around is because it still can be read by every GIS software under the sun.

As for your problem you have two options :

  1. You can decide on a new nomenclature to hold your fields taking into account the 10 character limit.
  2. You can choose a more modern format for your data that doesn't have the said limitation.

If you run ogr2ogr --formats | grep write you can see a list with all the formats your ogr's installation can handle as output.