If I am going to be operating significant sized fleet(s) in a particular AO, then I assign to an Army Group HQ situated in the middle of that AO. I create one if I have to. But for small groups, like little ASW fleets roaming the North Atlantic, I usually leave them attached to the AG nearest to their base and then forget about them. It just doesn't make sense to me to attach naval units to any level BUT the AG. Below that level and they will spend almost their entire operating lives out of radio range, and above that level they lose the supply bonus.
For air units it depends on their mission. For static interceptors tasked with protecting my homeland from enemy strat bombers, I attach them all to a dedicated AG along with all other static defenders, e.g. port guards, etc. I might also assign some MR or INT fighters to each army and/or AG for them to use in defending their land divisions from enemy CAS and TAC attacks. For frontline CAS and TACs I assign them at the army or AG level, depending on the size of the AO I intend them to cover. For TACs that I need to spread around a bit, I would attach to AG. For CAS that I want focusing on specific and small sectors of the front, I would attach to an army HQ in that AO. When I go for a strong CAS/TAC air arm, I assign one or two groups of TACs to every AG and a CAS group to every army.