A geoprocessing model does just that: it geo-processes data.
When you talk about "map extents" and "zooming", you are dealing with graphic expressions of data: maps.
It is not entirely clear which you are wanting to obtain as a result: a data set or a map. Your subsquent expalnations raise doubts about my original understanding of your question.
My suggestions pertain to creating a map with map extents matching the extents of the data set output from the geoprocessing model / script / service. For that, you need to go through the python arcpy.mapping module, and to have set up (at least a rudementary) mxd, so as to compose and output the map.
If, on the other hand, you are using the term " final extent of a map" to mean "extent of a data set", then most of what I wrote is entirely beside the point.