How many possible addresses per bitcoin private key? Based on my research every bitcoin private key (compressed or uncompressed) can have 4 different addresses: 


P2PKH compressed and starts with 1
P2PKH uncompressed and starts with 1
P2SH and starts with 3
Bech32 and starts with bc1


Are there any other types of address that can be created from a private key?
It depends a lot on the kind of locking condition you want to satisfy. The addresses that you have mentioned would depict 'standard' locking condition where the user reveals their public key and associated signature in order to spend the locked bitcoins. However, you can create custom scripts and then convert them into standard addresses.

For example, locking some bitcoins in a CLTV script using the same private key will generate a completely different address. You can use CSV or any other custom opcodes like OP_ADD to generate those custom scripts and then wrap the script in P2SH or P2WSH. When you spend the funds you need to reveal the custom script and the signatures should match. When you include the possibility of generating standard addresses from the custom made script, the possibilities are endless.

Also, a point to note is that a compressed public key will generate a completely different address as compared to an uncompressed public key.