The problem
Contrary to Linux, Windows cannot partition or properly use a partitioned (USB Flash Drive) UFD; that is, if you plug a partitioned UFD, only the first partition will be visible.
The solution
The solution should address two problems: partitioning and make partitions visible.
As for the first, an option is to use Linux, perhaps a live distro specifically targeted to imaging and partitioning, like Clonezilla. There are also free Windows tools like Bootice.
The second task is to make all (not only the first one) usable in Windows. A discouraged option is to use tools flipping the removable media bit, as they can damage incompatible sticks.
A better way is to install a filter. A program similar to a drive, adding extra functionality to them. In our case making an UFD appear as fixed drive. See for example Karyonix diskmod.sys discussed on reboot.pro.
Side effects and alternative uses
Since Windows can see only the first UFD partition without a filter, one can make some Linux files invisible to a Windows user, by storing them on a partition other than the first.
A special case is a pen Linux distro. If you want to use the pen for storing documents too and you don't want in Windows to make Linux OS files visible, simply do not install the Linux on the first partition.