I tried assembling a little Optimo script for you. It seems to work on my part. Haven't gone through in detail, and should probably be washed so that it doesn't create all the geometry each run, but it didn't consume my computer at all..
To use the results, you will have to pick a value from the last codeblock. List  contains the rotations, List contains the Fitness. Optimo sorts so that the best fitness is at the top of the list. (as long as the population size/ number of loops is enough for not hitting a local optimum)
The "custom node" aka your script:
Mind that Optimo, unlike Galapagos, can ONLY minimize values, that means that in your case you have to add a negative to the Fitness.