So, if you browse your local files, and go to data/res, you'll find 2 files (standard and SFMT) that reveal all on the spawning (the .json files can be opened in Notepad). Basically, each kill ups the difficulty by a set number of points, and each time it rises the spawn behaviour is changed. Blimp appears at difficulty 600, which is the maximum, and submarines can spawn at 480. Note, can; spawning is random, with a percentage chance value of rare spawns in that file (1 in 8 Ace spawns are Laser Ace, and there's a 1 in 3 chance that when Aces spawn a submarine will as well). It also states that at least 1 submarine has to die for Ace Marines (yeah, no idea what that is) to spawn.
Oh, and by the way - in that folder is also a series of files that cover each part's behaviour - speed and damage, etc - and modifying it is reflected in game. Just, y'know, make sure you save the original under a new name first to revert in case of crashes.