Clustered vs Non Clustered Indexes for a Primary Key
Unless you switch to sequential GUID generation, you don't want the GUID as a clustered index key.  So your choices are

1) Make the ID column the clustered index key.  This will optimize joins and lookups on ID, but it sounds like those are rare.

2) For SQL 2016+ replace the Heap with a Clustered Columnstore index.  This compresses the data and optimizes table scans, perhaps to the extent that you can drop some of your other indexes.

3) Pick your most used non-clustered index and make that the Clustered index.  

4) Leave it as a Heap.

In any case, the "child tables" that use the GUID as a foreign key might benefit from having that foreign key column as the leading column in their clustered primary key.