A poor-man's solution to this problem would be to render the pieces not as images, but as text in a scalable font. The WinBoard Alien Edition uses this method for all board sizes where it has no bitmaps (i.e. 16 of the 18), based on a built-in table that maps its 'extra' piece types (i.e. those it has in addition to regular WinBoard's 22) on kanji. There is no working XBoard for the Alien Edition fork, however.
I have now been working to provide a similar solution for the regular edition of XBoard, although I did not get yet to adding additional pieces. (XBoard 4.8 supports 44 pieces, all with default images defined for them.) This does not work through a built-in table, however, but through a (new) configurable option -inscriptions. This option can define a string, where each symbol in the string will then be used for writing on top of the piece to which it corresponds (according to XBoard's canonical ordering of pieces). The string is interpreted as utf8 unicode, so it is possible to define kanji inscriptions.
The idea is that all pieces could then use the same image of a blank Shogi tile, while XBoard would then write the identifying inscription on them as text. To facilitate this the fall-back cascade for piece images has been extended: if the user specifies a -pieceImageDirectory (-pid), XBoard will first look for an image of name White/BlackXXX.svg to use for piece type XXX (e.g. XXX=Knight), but if that is not there, it will first try the piece-independent name White/BlackTile.svg before trying White/BlackXXX.png in the pieceImageDirectory, and then the default piece theme in its own installation files.

Above you see an example of how this works out in regular Shogi. The -pid was set to a directory containing only svg images for a general Tile, a somewhat bigger blank tile for the Kings, and complete (i.e. including the kanji inscription) Pawn tiles. XBoard was then invoked through
./xboard -inscriptions " 桂角飛香銀...金.とN馬龍L玉" -ncp
which defined the kanji inscriptions for P,N,B,R,... The inscription for P was defined as a space, because the svg image already carried its own inscription. (The kanji for Pawn in the font I used seems bigger than the others, while even a normal size would have been difficult to fit on the smaller Pawn tile.)
The result seems acceptable. My plan now is to implement a similar mechanism (including the fall-back on a common bitmap image) in the WinBoard front-end of the regular edition. And of course strongly increase the number of piece types, by adding some hundred(s) of 'unnamed' pieces, which have no built-in moves (the engine will have to define those) and no 'native' image (always falling back on the common 'Tile' image).

