Crankset compatibility: Specialized Stout XC vs. SRAM GX 1000 GXP
The parameters involved are as follows:

Your frame’s bottom bracket shell, which is BSA threaded.
The spindle type, which is where you ran into trouble. Shimano specifies a 24mm diameter spindle. SRAM’s GXP is a 24mm spindle that tapers to 22mm on the left crank. I don’t know if there’s a substantive reason for this, or if it’s just to avoid any patents that Shimano had on its Hollowtech II system.

The FSA crank you linked appears to have a 24mm spindle, so this should fit as is. Some companies may make spacers to adapt a Shimano BB to a GXP axle, but I can’t remember who does off the top of my head.
BB30 is a different bottom bracket shell standard entirely. It is one of the press fit BB standards. Many press fit BBs are made to take 30mm axles, but 30mm axles are less common in threaded BBs (but it is possible, and BBs are made for that purpose).