Your options are as follows:
- Using 
LREMand replacing it if it was found. - Maintaining a separate 
SETin conjunction with yourLIST - Looping through the 
LISTuntil you find the item or reach the end. 
Redis lists are implemented as a, hence the limitations. I think your best option is maintaining a duplicate SET. Regardless, make sure your actions are atomic with MULTI–EXEC or Lua scripts.