who charges for the foreign transaction fee, the merchant, or the credit card company?
Foreign transaction fees are charged by your credit card issuer, not by the merchant. Not every credit card has foreign transaction fees, credit cards specifically geared towards travelers (e.g.: many airline branded, especially high-tier, or high-tier brands like Sapphire from Chase or Premier from Citi, or even the Costco card) do not charge foreign transaction fees.
Worth mentioning that the "foreign" in the "foreign transaction fee" relates to the merchant, not the currency.
Is it possible to know about the amount of foreign transaction fee when placing an order with a merchant outside the country of the credit card company?
Absolutely. It should be detailed in your credit card terms and conditions. In the US it must be explicitly stated in the term sheet before you sign up for the card.
is there always currency conversion?
Merchants operating in a different country operate in the currency of that country. So if you transact with such a merchant there's bound to be a conversion somewhere.
Currency conversion is a separate issue, and different banks and merchants have different rates. Usually doing conversion through your credit card would yield best results (especially higher-tier/traveler brands), but check and confirm. Different cards would have different rates, some better for one currency, others may be better for another. Shop around. From my experience, allowing the merchant to do the conversion would yield the absolute worst (by far) rate for you since it gives the merchant an opportunity to make more money off of you. Merchants listing prices in foreign currency would usually assume their own conversion rate.
Is it possible to avoid foreign transaction fee using a different payment method from credit card? For example, debit card, Paypal?
Shop around for credit cards without foreign transaction fees, there are a lot. Specifics depend on your country, I mentioned some US-centric examples above.