The bottleneck (thread that runs 25% aka 1 core) is clearly the AI thread. You can easily see it if you test different amounts of AI. Once the AI thread starts running 100% of the time, the more AI you add you will actually see less CPU usage, as AI thread continues to run 100% of the time but FPS goes down meaning other threads run a lower % of the time. This doesn't just happen on servers, happens on hosted servers and single player as well.
The only real solution is to get a faster CPU (not more cores, but simply a faster one) or wait for the Messiah to arrive and re-program Arma 2's AI so that it uses more than 1 thread (or at least makes it less heavy on the CPU).
If you're getting low FPS in a mission with absolutely no AI then I really don't know what to say.
Scripts, assuming they aren't running through dirty hacks like using eventhandlers and the likes to get extra runtime, are actually not allowed to run long enough to affect FPS. Instead the game engine just makes the scripts run less. This can be easily tested by spawning a lot of scripts that run infinite loops that do nothing and see how your FPS remains the same (though other scripts that are running may become slow/unresponsive).