I don't think introducing distance mechanics on alliances would be ideal, or necessarily realistic. Often these are rivals and there's some advantage in having access halfway around the world because of a resource or because of defence in depth strategies. There's no realism IR basis for saying that a distant country is a less likely ally than a close one. There might be cultural arguments for such things but it's not like France and Germany have that similar of cultural heritages, as an example (France and Belgium or Germany and Netherlands/Denmark, maybe). Or the US and Mexico. Close isn't a good enough proxy for friendly that we need to use it.
A case for slower degrades on non-competitive alliances is plausible. That could also encourage some competition with the AI over CS and increase the value of the patronage tree, using enemy CS influence degrading effects, Angkor Wat wonder, etc. I'm not sure how easy this would be to do or to balance.
I don't think the counterpoints about Switzerland, etc really demonstrate that there's a historical problem with civs switching their alliances rapidly. Most of Ahriman's examples were major power civs, not minor powers like the CSs. That doesn't mean there are not such examples (Egypt or Iran in modern day, most of Eastern Europe, etc). The more likely effect on CS with competing influence is as you describe (they might try to sit it out to avoid offending either party later), but I don't think it would be desirable to have alliances that refuse to support you in a war in game terms. It might be possible to do but I'm not sure of its appeal or that it's entirely realistic.
Of course, it's not very realistic that they'd swap alliances and thus at war states repeatedly during a protracted war either. Possibly a timer for peace/war with a major civ for a minor CS would be useful. I don't think a 0 influence at war trigger is desirable at all. There's a huge difference between "you are nearly allied or over alliance value but not the top" not causing a war and "you have any influence at all with any CS" prevents a war with said CS.
If that mechanic is desirable, I'd say something like anything over -30 influence gaps between the two should be sufficient to cause a war, or maybe -45/-60 if you have enough for an alliance but aren't allied.
A stronger case might be for long-term effects to be involved in diplomatic victories.
(Note: Spain did give token assistance in the form of arming some volunteer brigades to the Germans, but the major reason it didn't intervene was that it was still consolidating power internally, not that they were also aligned with the British or Americans or Russians. America and Britain put some diplomatic pressure on them to stay out and Spain did help some Jews and downed pilots/POWs, but they weren't an ally of the allied powers as a basis for staying out of the way).
A case for slower degrades on non-competitive alliances is plausible. That could also encourage some competition with the AI over CS and increase the value of the patronage tree, using enemy CS influence degrading effects, Angkor Wat wonder, etc. I'm not sure how easy this would be to do or to balance.
I don't think the counterpoints about Switzerland, etc really demonstrate that there's a historical problem with civs switching their alliances rapidly. Most of Ahriman's examples were major power civs, not minor powers like the CSs. That doesn't mean there are not such examples (Egypt or Iran in modern day, most of Eastern Europe, etc). The more likely effect on CS with competing influence is as you describe (they might try to sit it out to avoid offending either party later), but I don't think it would be desirable to have alliances that refuse to support you in a war in game terms. It might be possible to do but I'm not sure of its appeal or that it's entirely realistic.
Of course, it's not very realistic that they'd swap alliances and thus at war states repeatedly during a protracted war either. Possibly a timer for peace/war with a major civ for a minor CS would be useful. I don't think a 0 influence at war trigger is desirable at all. There's a huge difference between "you are nearly allied or over alliance value but not the top" not causing a war and "you have any influence at all with any CS" prevents a war with said CS.
If that mechanic is desirable, I'd say something like anything over -30 influence gaps between the two should be sufficient to cause a war, or maybe -45/-60 if you have enough for an alliance but aren't allied.
A stronger case might be for long-term effects to be involved in diplomatic victories.
(Note: Spain did give token assistance in the form of arming some volunteer brigades to the Germans, but the major reason it didn't intervene was that it was still consolidating power internally, not that they were also aligned with the British or Americans or Russians. America and Britain put some diplomatic pressure on them to stay out and Spain did help some Jews and downed pilots/POWs, but they weren't an ally of the allied powers as a basis for staying out of the way).