I'm using QGIS and trying to divide a road polygons layer into smaller polygons, all having the more or less the same length as in the image below I roughly drew. Also, if the road width is above a certain limit I'd like to divide them from centreline as well. I was wondering if there is a way of doing this automatically. I know that this is a quite difficult problem to solve only with GIS tools but I wanted to ask to wider community as there is always a brighter idea out there.
This is a rather broad question therefore I give here only the seeds to answer it.
The first step should be the creation of a skeleton, i.e. the line that goes in the middle of your line. There are some answers to this question (QGIS/PostGIS/SAGA GIS) here and as you tagged ArcGIS also, you can look for the "Collapse Dual Lines To Centerline" tool.
In the last step you can use the lines that you produced to build your polygons. Draw a negative buffer on your polygons to remove the skeleton when the road isn't large enough.