I guess my simple explanation would be that it some cases it sounds more like [fu] and sometimes it sounds more like [hu]. It also falls into the "h" line on the syllabary chart, and I think as a result the convention is to transcribe it is as "hu" so it fits the other syllables in its line.
To be more specific, I think it is pronounced more like [fu] especially in foreign words to replicate the [f] sound, since the natural way to produce this sound is to make it sound more like a cross between [f] and (and the fact that it sounds like both is also maybe a reason why you could transcribe it either way). For example, ファスト・フード. I think Japanese would tend to emphasize the [f] component of the articulation to make it sound more like the way we pronounce 'fast food' in English.
However, I am not an expert on Japanese phonetics by any means, so maybe someone else knows better than I do. I am merely speaking from my few years of experience in Japanese language study and linguistics study.
My pronunciation of ふ is always the same. It's neither [fɯ] nor [hɯ] but [ɸɯ], the voiceless bilabial fricative. I believe all native speakers of Japanese use this pronunciation when it comes to indigenous Japanese and Sino-Japanese words. Whether to romanise it as <fu> or <hu> is a matter of writing conventions.
In loan words whose originals have the [f] pronunciation, a very limited number of people use [f]. Most people substitute [f] with [ɸ], thus [ɸaasɯtoɸɯɯdo] for ファーストフード. A smaller number of people, especially those in older generations, use [ɸɯ] or to replace [f]. Also important is to note that people in reality may use different realisations for different words. For example, I say [ɸɯirɯmɯ] for "film" because that's the pronunciation I heard while growing up but I find [hensɯ] for "fence" too countrified.