Shy of simply recreating or stitching together natural languages' phonological inventories, what is the solution for making a naturalistic conlangs' inventory naturalistic?
You should think of phonology in terms of distinction. You have to distinguish certain consonants and vowels from others, and you have to figure out the best way to do that.
A realistic inventory has spread out places of articulation, often symmetrical. It's much easier to make a distinction between spread-out consonants that between consonants that are articulated similarly. That's why this is a really common inventory:
Front Central Back Close i u Near-Close Mid-Close Mid e o Mid-Open Near-Open Mid-Open a
And this is unheard of:
Front Central Back Close i u Near-Close ɪ ʊ Mid-Close ɘ Mid Mid-Open Near-Open Mid-Open
You should always make sure a language makes distinctions that are spread apart, e.g. /p t k/, rather than distinguishing three types of t-sounds /t̼ t ʈ/ without also having a distinction from /p k/ (unless for some reason you're making a language to be spoken by aliens without lips, for instance). There's also no reason to have only three consonants /p d kʰ/; you should either have only one set (such as /p t k/), or have a set for each of them (i.e. /p pʰ b, t tʰ d, k kʰ g/).
Every rule has its exceptions, but this is true of most natural languages, and you should use this as a starting point.
(Some more details can be found in my answer on Linguistics, from which I copied some of the examples)
In addition, inventories should be remotely gridlike. That is, if a series of phonemes of one manner of articulation occurs (let's say /p t k q/), then a similar series is likely to occur at another (e. g. /ɸ s x χ/ is more likely to occur than /θ ʒ h/).
There are some websites providing phoneme inventories of natural languages, among them:
The WALS survey also has several chapters on phoneme inventories, including data about the size of the inventories and about the distribution of rare segments and the absence of frequent segments.