We can derive a general rule (with loads of exceptions, like everything in this language) from this case. When the expected plural form of a word contains a non-stressed double i, like "olio" -> "olii", "principio" -> "principii", there's a tendency to drop the second i: "oli", "principi" (Ngrams for "olii" vs "oli" confirm this graphically). However, some speakers do retain a memory of the double i in their pronunciation of such words, the i is slightly longer.
To tell a "single-i-that-used-to-be-double" from an ordinary single i the circumflex accent can be used and this is standard Italian grammar. This makes sense particularly when one needs to disambiguate, for example "principî" (plural of "principio", principle) as opposed to "principi" (plural of "principe", prince); this is the solution used in the Italian Constitution that includes a chapter called Principî fondamentali. Another solution in this case is the tonic accent: "principî" can be unambiguously written as "princìpi" because the other word is read as "prìncipi".
Conclusion: the three forms ("olii", "oli" and "olî") are equally acceptable, but as you can imagine the circumflex accent is unusual and most people wouldn't even be able to type it on their keyboard. AFAIK, this is the only case in which a circumflex accent can be used in Italian words not borrowed from foreign languages or dialects, I guess most Italians wouldn't even realise that in their language this accent exists.
Notice that the situation is entirely different with stressed plurals in -ii (e.g. "sgocciolìo" -> "sgocciolii"). In this case the double i is pronounced clearly by all speakers (the first i is stressed) and is compulsory. The opposite applies to nouns ending in -cio, -glio, -scio etc. where the i is not really used as a vowel: the plural form requires one i.