So, this is a bit of an old question.. but it still doesn't seem to be solved.
Here are some additional people complaining about the issue...
I have many thousands of photos (~10k) in Google Photos and I wasn't about to manually go through each one by one - so instead I hacked together a little tool that uses the Google Photos API to get a list of URLs for photos that are NOT in any album.
The Google Photos API also provides no direct way to find not-in-album photos! So my tool builds a list of ALL photos and then goes through each album's photos individually and removes them from the all-photos list.. finally resulting in a list of photos that are NOT in any album.
It can take a while (with 10k photos, like 10+ min? I didn't time it). This isn't helped by the fact that the API only allows a few photo entries to be returned per API request (so it has to do a ton of requests to get them all).
I just hacked the tool together, so there may be bugs? But it should be safe (it only asks for read-only permissions), and it seemed to work fine for me. It simply outputs a list of URLs (for out-of-album photos) - it DOES NOT delete them or put them in an album or anything (although that could be done via the API it was more dangerous and I didn't need that feature myself).
The tool's source-code can be found here: https://github.com/jonagh/gapi-querier
You can run it directly off of github here: https://jonagh.github.io/gapi-querier
However, you will need to create Google API credentials (and get the client ID to enable access to the Google API).. some basic direction on how to go about doing that is in the readme (see: https://github.com/jonagh/gapi-querier).
Note that this is not a professional tool, it may have bugs, it may not be user friendly, it may require some technical knowledge to get it to work (ie Google API credentials), use at your own risk (though it should be fine).