The colors come from the scope, which is defined by the “name” tag. So if you have
<key>name</key>
<string>this.is.my.scope.name</string>
You could give that a specific color/style in the color scheme (.tmTheme) file. Moreover, you can use CSS-like syntax to be as generic or specific as you want. So you could give this a color, and this.is another color, and this.is.my.scope another, and so on. The most specific scope gets the color. This is all better described here and here. The latter describes the accepted scope hierarchy, but you can create a scope with any name. You’ll just have to manually add support in the .tmTheme if you leave the standard naming conventions.
You can edit the color scheme as you would any other file. The built in schemes are located in /Packages/Color Scheme - Default/ . Take a look there; you can also check out my sublime-settings repo for the custom syntax scheme I use.