I also have the same problem.
My approach is to view the PostGIS data not directly in ArcGIS, but to export the data into shapefiles which are then used to view and edit the data in ArcGIS.
The main concern with this approach is synchronizing between the shapefiles and PostGIS. For this I'm using a background thread which checks if there are changes in the database on a regular basis (every 5 seconds) and if this is the case, the shapefiles are generated and exchanged.
For the other direction I am writing an editor extension which handles editor events, queues them internally and after the user saved the editor session, the changes are committed to the database.
I know it may sound a little bit crazy, but it was the best idea I had - because I had the same problems with zigGis and SpatialKit, Query Layers' missing edit possibility and the need to operate without ArcSDE...