How can you hide the usage of an external VPN?

Let’s assume we need a VPN to access some site, e.g. for bypassing geo-blocks. But those site doesn’t want VPN users. A good example is Netflix. However, I don’t want to specify this just on Netflix, since there are other services blocking VPNs as well.

So I thought about how those target site could detect if I’m using a VPN or not. One indicator is a high amount of connections from a single IP. This is relatively easily fixable with multiple external IPs on the VPN server. But those IPs themselves could leak this information.

1. Whois data

PrivateVPN is an example:

# whois $  (dig +short de-nur.pvdata.host) | grep -i vpn % Abuse contact for '185.89.36.0 - 185.89.36.127' is 'support@privatevpn.com' netname:        PRIVATEVPN 

VPN in the whois or even the name of common VPN providers are clearly and easily to match.

2. IP databases

I found ipinfo.io where we can enter an IP and even get information about the device type. For example, another VPN server 162.245.206.242 gave me

company: Object name: "i3D.net B.V" domain: "i3d.net" type: "hosting" 

where a query with my real IP (normal private customer home internet connection) shows type: "isp" with the name of my ISP. So I assume that simply querying those APIs and ban all users with type: hosting would match most VPN servers.

How could we hide it?

I don’t see a practical way to hide it. Services like ipinfo earn money by collecting such information and keeping them up to date.

The only way would be a VPN service that uses servers hosted by private ISPs. Is there any other method of using a VPN service without letting the target site knowing it?