My biggest obstacles with singing are two things: Identifying suitable notes on the fly and keeping pitch.
I play guitar, have been for many years and I have always been singing along with it. I can sing through many songs and it sounds alright (also singer in a band, so I do have some experience, nothing professionally trained though).
Let's say, I play the classic chord progression: C Am F G
I usually start singing along random lyrics and after many iterations, I have a melody down, just by pure randomness and trial and error. This involves singing a lot of wrong notes and eventually my brain adjusts and I keep hitting the right notes that fit. I then often start to shake on the notes a bit, for instance, if you take away the guitar, I wait 30 seconds, I can't reproduce the melody acapella, just barely so.
Also, when I hear a catchy tune on the radio, I can feel/imagine it in my head a bit, but when I walk around and start humming/singing it, I am often way, way off. It takes me a few approaches until I've dumbed it down enough in my head to reproduce a somewhat recognizable copy of the song I have in my head.
So, long-story short: I want to practice more, and more effectively. So I started singing scales on the guitar, I just start on an F and go up the major scale and down, endlessly. Then I switch to, say, a C, and do the same thing. I keep doing this for all chords up and down, randomly. And I can feel how I get better at it rapidly during my training session. But as soon as I play a minor chord (Am), that major scale is obviously sounding terrible. Playing C Am F G is in the key of C major, so that's easy with the C major scale. But if I have a song in Am, or any other minor key, I am stuck.
Should I learn a chromatic scale for singing? A natural harmonic minor scale? What do I do here?
How does a professional singer hear a song in, say, Am, and hit all the right notes off the bat and come up with a melody? What do I need to train?
People often recommend going to a vocal coach, but I feel there's a lot I can teach myself theory wise first. I understand the need for proper breathing, producing sounds, taking care of your voice, warming up etc. --- but all this won't help with any of the above.
Does anyone have any guidance? I can play piano or guitar along, I can even write my own software to accompany me with any type of lession - but I fail at figuring out the theory on how to approach the vocal scales and singing along a given key.