Back in the old days before Microsoft/Sybase worked out IRL (Insert Row Locking) as a bottleneck, GUIDs were recommended as the Primary Key precisely because they did fragment the (presumably clustered) index key. They actually still work pretty well at both extremes (very high and very low volume) of the production load.
To avoid the bottlenecks created by index fragmentation, you can consider the GUID as though it were an NK (Natural Key). This would allow your application to be unchanged while it allowed you to build a more compact and sequential PK (Primary Key) such as a sequence that would allow you to manage indexes (and possibly database file growth) more conveniently.
In theory, theory and practice are identical. In practice, theory and practice are unrelated.