I would suggest using the block_id of a pre-selected future block instead of the transaction_id. The block_id can be influenced only by the block producer (witness) that produces that block, so that would require a corrupt witness to influence which would then lead to a loss of witness votes if found out which should provide a certain level of deterrence.
Only a very, very limited level of deterrence, because there is not really any way to tell that the witness is colluding. The rigged winner(s) can be some 'third party' shill that has no visible association with the witness (or lottery operator).
All of these sorts of simple methods of generating randomness from a blockchain are flawed and unsuitable if there is significant money at stake or a high value attached to the service being trusted and not subject to FUD attacks of being rigged (whether or not accurate). There are some decent methods but they are much more complicated.
RE: Fairlotto V2: Provably Fair STEEM Blockchain Based Lottery - All New Front-End + Features