If there are any other alternatives which GIS Software works with them?
You can run the ArcGIS Tool Polygon_Neighbors on a Polygon Shapefile. The output is a Table that lists the neighbors to each Polygon. There is also an option to analyse Overlaps. This tool works with any license level. This ArcGIS functionality seems to contradict your statement, "there is no way to describe topological relations in a shapefile".
For the coding inclined you could consider Mapbox's Geobuf format. It's basically a binary representation of GeoJSON/TopoJSON data (protocol buffers for those who want the technical details).
There's a Python version here. I haven't found a good, open source, Python library to generate TopoJSON from geometries yet (at least for server side work). But you can use QGIS or PostGIS to create topogolies.