Is there any rules that govern when to use 不 and 非 and 無 and 未 in regards to the meaning of "not" or "un-"
for instance 非表示, 不満
It's not that there are rules, it's that the different kanji have different meanings which can help determine which one is the right choice. You can use the following definitions as guidelines, but please be aware that there will be exceptions and differences depending on specific words.
無【む】
Means "absence" (as in: it was never there).
未【み】
Means "incomplete" in the sense of not having achieved something (as in: we still have further to go before we get to the end point).
不【ふ】
Means "incomplete" in the sense of not yet having reached capacity (as in: the container is not yet full).
非【ひ】
Means "error", but when used as a prefix it's more helpful to think of it as meaning "opposite" (as in: it reverses the meaning of the word).
Hope that helps.
My answer is almost the same as Dave's in principle. I hope it brings something new to the table by introducing the notion of "transcribing" Kanji words into Japanese:
When I studied 漢文【かんぶん】 in my high school days, I learned that transcribing kanji words into full Japanese phrases can help understand them better. Kanbun is "a Japanese method of reading annotated Classical Chinese in translation" (Wikipedia).
If we combine 表示 with each of the four characters 不・非・無・未, and skip the details, they get transcribed as:
不表示 → 表示せ不 (ず)
非表示 → 表示に非ず (あらず)
無表示 → 表示無し (なし)
未表示 → 未だ (いまだ) 表示せず
In theory, if you reverse this process - by finding the right phrase using either of the four Kanjis that matches your intention - you should be able to get the correct Kanji compound word.
Note: Definitions are taken from wikibooks on Kanbun and a study material by a Kanbun enthusiast.
Note 2: In case of 表示, "不表示" and "非表示" don't have much difference in meaning, although 非表示 is the prevalent one. My guess is that 非表示 is more neutral, and therefore more versatile and widely used.
Despite the question seems to have reached its own solution, I'd like to make a new answer, for I find the existing explanations would not lead to a correct understanding on this topic.
Each of these words has their own meaning, which usually cannot be directly translated to English affixes like "non-", "in-", "un-", or "-less", so I'm going to explain these terms descriptively.
What they have in common is negative meaning and ability to attach to 漢語 (Sino-Japanese) words.
(I didn't consider much about two-character compounds like 不安, 非道, 無常, 未婚 etc. because these words are better memorized en bloc.)
不~
(read ふ)
makes state from action, the outcome is usually a noun
"not to action", or "no action-ing"
不使用【ふしよう】 "disuse", 不変化【ふへんか】 "invariable(ness)", 不合格【ふごうかく】 "rejectable(ness)"
In this usage it's tenseless negation, that is, 保存料【ほぞんりょう】不使用
"No preservative used" doesn't only mean "unused" but "never be used". Some speakers may also treat this as a formal way of saying ~しない(こと)
.
makes state from state, the outcome is usually an adjective noun (形容動詞)
"not being state", "being low on state"
不誠実【ふせいじつ】 "insincere", 不人気【ふにんき】 "unpopular", 不健康【ふけんこう】 "unhealthy"
Almost limited to subjectively undesirable state.
Can also attach to native words.
不まじめ "lazy", 不[行]{ゆ}き届{とど}き "mismanagement", 不ぞろい "uneven"
非~
(read ひ)
makes identity or its holder from state, the outcome is usually a noun
"not belonging to state" or "being other than state" or "non-state"
非公開【ひこうかい】 "non-disclosed", 非会員【ひかいいん】 "non-member", 非現実【ひげんじつ】 "irreality"
Maybe better explained as logical NOT. If only two options are in question, it's equal to "un-".
Can attach to any kind of words.
非ユークリッド "non-Euclid(ean)", 非[割]【わ】り込【こ】み "non-interrupting"
無~
(read む)
makes state from thing or action, the outcome is usually a noun
"without something" or "something-less"
無重力【むじゅうりょく】 "weightless(ness)", 無公害【むこうがい】 "pollution-free(ness)", 無所属【むしょぞく】 "independent (of a candidate)"
Can attach to any kind of words by theory, but other means are preferred outside 漢語: 底{そこ}無{な}し
"bottomless", バリアフリー
"barrier-free"
未~
(read み)
makes state from action, the outcome is usually a noun
"not yet action-en"
未確認【みかくにん】 "unconfirmed(ness)", 未成熟【みせいじゅく】 "unripe(ness)", 未解決【みかいけつ】 "unsolved(ness)"
This one is preferred when the action is considered telic (i.e. has a goal), even if you do not really have intention to achieve it.
Extra
不/無~
(read ぶ)
makes state from anything, the outcome is usually an adjective noun
"ill-something" or "mis-something"
不器用【ぶきよう】 "clumsy", 不細工【ぶさいく】 "ugly", 無愛想【ぶあいそう】 "unamiable"
Though of high frequency it may be seen in, it's no more productive (i.e. able to make new words using it), and technically it's less related to those ones above, for attaching only to those almost-nativized 漢語 words.
However, existing words with these prefixes often betray your expectation on how it works, mainly because:
Bare 漢語 words are by nature flexible in grammatical status, as like in original Chinese, as well as some English words (round (n), round (v), round (adj), ...). You should fill in implicit participlization. That's why I avoid to use "verb" or "noun" etc. in the list above.
e.g. 非表示【ひひょうじ】
→ "being-other-than displayed" = "undisplayed(ness)"
In general, established nouns that mean qualities easily turn into adjective(-noun)s in Japanese. Many common words which should be "noun" according to my list, are actually adjective nouns.
Modern Japanese (Meiji–WWII) embraced many words in different word classes than today's. Besides, words themselves could have undergone changes regardless to its original meaning.
e.g. 不経済【ふけいざい】
→ "diseconomy" or "being-not economical" < 經濟
ModJ "economize"
非常識【ひじょうしき】
→ "non-common-sense" → "lacking in common sense"
Samuel Martin's A Reference Grammar of Japanese has a good summary and discussion on those prefixes, but note that he has erroneous analysis on some words regarding the said matters.
会員
as an identity (to be a thing), 現実
as a thing as well as state, 健康
as a state (adjective), 表示
as a state as well as action, and 使用
as a pure action.
不 非 無 未
会員 × ○ ○ ×
現実 × ○ △ ?
健康 ○ ○ × ?
表示 ○ ○ ○ ○
使用 ○ △ ○ ○
Acknowledgement: Thanks to @snailboat for references and advice.
I have a partial answer for 不 and 無.
For a na-adjective, 不~ can be interpreted as ~ではない
For a suru-verb, 不~ is ~しない
For either a noun or a suru-verb, 無~ can be interpreted as ~がない
(Source: Bojinsha's Intermediate Kanji Book, Vol 1, chapter 2)