As also suggested by @muru in a comment, there is the ble.sh ―Bash Line Editor― that can do what you want. Before installing it, you have to install its dependencies (if not already installed): git, make (GNU make), and gawk (GNU awk). You can do that with the following command:
sudo apt install git make gawk
Then, to install ble.sh run the following commands:
git clone --recursive --depth 1 --shallow-submodules https://github.com/akinomyoga/ble.sh.git
make -C ble.sh install PREFIX=~/.local
echo 'source ~/.local/share/blesh/ble.sh' >> ~/.bashrc
The above commands will download the repository in your current directory, install it in ~/.local/share/blesh/ble.sh and add the required line in your ~/.bashrc.
After that close and reopen your terminal and you should have autosuggestions enabled:

If you want to uninstall ble.sh, follow these steps (from the project's 1.6 Uninstall section):
Close all the ble.sh sessions (the Bash interactive sessions with ble.sh)
Remove related user data. If you would like to keep them, you can skip these steps.
- Remove the added lines in
.bashrc.
- Remove
blerc files (~/.blerc or ~/.config/blesh/init.sh) if any.
- Remove the state directory
~/.local/state/blesh if any.
Remove the directory where ble.sh is installed. When you use out/ble.sh inside the working tree of the git repository, the installed directory is the directory of the repository. When you use ble.sh installed by make install, the installed directory is <PREFIX>/share/blesh where <PREFIX> (default: ~/.local) is the prefix specified to make install in the installation stage. When you use the version extracted from a tarball, the directory created by extracting the tarball is the installed directory.
Remove the cache directory ~/.cache/blesh if any.
Remove the temporary directory /tmp/blesh if any [ Only needed when your system does not automatically clears /tmp ].